• 締切済み

VBAからoracleに接続しSQLで日付絞込み

かなりの素人で申し訳ありません。初心者です。 EXCEL2016を使用し、VBAからoracleに接続、日付のカラムを範囲指定して検索、excelに出力するツールを作成しています。 テーブル:注文テーブル 項目:注文番号、項番、納期 納期は日付型です。 注文番号を指定してデータの取得はできているのですが、納期を指定すると「実行時エラー ODBCドライバーは要求されたプロパティをサポートしていません」とエラーになります。日付指定の方法が違うのではと推測するも解決しません。ご教授頂けないでしょうか。 SQL = “SELECT 注文番号, 項番, 納期 FROM 注文テーブル WHERE 納期 BETWEEN #2021/01/01# AND #2021/01/31#;”

みんなの回答

回答No.2

SQL = "SELECT 注文番号, 項番, TO_CHAR(納期, 'YYYY/MM/DD') FROM 注文テーブル WHERE 納期 >= TO_DATE('2021/01/01 00:00:00','yyyy/mm/dd hh24:mi:ss') AND 納期 <= TO_DATE('2021/01/31 23:59:59','yyyy/mm/dd hh24:mi:ss');" 上記のようにしたらどうでしょうか。

ebichan0123
質問者

補足

やってみましたが、同じエラーになってしまいます。

回答No.1

ttps://qiita.com/techmilestone/items/76bc79ba6d83c9a510ec 上記の例(先頭にhを付けてね)にならって、betweenを使わないようにして、to_date を使った書式でどうでしょうか。

ebichan0123
質問者

補足

早速の回答ありがとうございます。 以下のように記載しましたが、同じエラーとなりました。 SQL = “SELECT 注文番号, 項番, 納期 FROM 注文テーブル WHERE 納期 => TO_DATE(‘2021/01/01’,’yyyy/mm/dd’) AND 納期=<TO_DATE(‘2021/01/31’,’yyyy/mm/dd’);”

関連するQ&A