プロが教えるわが家の防犯対策術!

ora-00907エラー:右かっこがありませんが出ます。なぜでしょうか??

strSQL = strSQL + "select K.Hiduke 日付,S.Syouhinmei 商品名,S.Tanka 単価,K.Suryou 数量,(S.Tanka * K.Suryou) 金額";
strSQL = strSQL + " from SyohinHyo S,Kounyurireki K";
strSQL = strSQL + " where K.Syouhinbangou = S.Syouhinbangou and K.Hiduke";
strSQL = strSQL + " between to_date(" + comboBox1 +",'YYYY-MM-DD') and ";
strSQL = strSQL + " to_date(" + comboBox2 + ",'YYYY-MM-DD')";

A 回答 (2件)

comboBox1、comboBox2 は必ず'YYYY-MM-DD'形式で入力されてますか?


#1さんのご指摘の通り、シングルクォートで囲まないまま入力が'YYYY/MM/DD'形式だと、
/を実行指令と解釈しておかしくなるかも。

先頭1行目は、右辺のstrSQLを省略しておかないと、何があるかわからないので注意されたほうが良いですよ。

strSQL = "select K.Hiduke 日付, S.Syouhinmei 商品名, S.Tanka 単価, K.Suryou 数量, (S.Tanka * K.Suryou) 金額";
strSQL = strSQL + " from SyohinHyo S, Kounyurireki K";
strSQL = strSQL + " where K.Syouhinbangou = S.Syouhinbangou";
strSQL = strSQL + " and to_char(K.Hiduke, 'YYYY-MM-DD') ";
strSQL = strSQL + " between '" + comboBox1 + "' and '" + comboBox2 + "'";
'ここでMessage Box でも用いて組み立てたstrSQLの中身を確認する
    • good
    • 0
この回答へのお礼

毎回ご回答いただきありがとうございます。
とても助かりました!!おかげさまであとはCrystalReportを使うだけになりました。

お礼日時:2010/11/24 23:25

strSQL = strSQL + " between to_date(" + comboBox1 +",'YYYY-MM-DD') and ";


strSQL = strSQL + " to_date(" + comboBox2 + ",'YYYY-MM-DD')";

最後の2行を以下に変えたらどうでしょうか?
’で代入文字をくくっています。

strSQL = strSQL + " between to_date('" + comboBox1 +"','YYYY-MM-DD') and ";
strSQL = strSQL + " to_date('" + comboBox2 + "','YYYY-MM-DD')";

よろしくお願いします。

この回答への補足

strSQL = strSQL + " between to_date('" + comboBox1 +"','YYYY-MM-DD') and ";
strSQL = strSQL + " to_date('" + comboBox2 + "','YYYY-MM-DD')";で行うと
ora-01841:(周)年は-4713と+9999の間で指定しなければなりませんが、0であってはなりません。が出るのですがどうすればいいでしょうか??

補足日時:2010/11/23 22:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す