- 締切済み
VBAからoracleに接続しSQLで日付絞込み
かなりの素人で申し訳ありません。初心者です。 EXCEL2016を使用し、VBAからoracleに接続、日付のカラムを範囲指定して検索、excelに出力するツールを作成しています。 テーブル:注文テーブル 項目:注文番号、項番、納期 納期は日付型です。 注文番号を指定してデータの取得はできているのですが、納期を指定すると「実行時エラー ODBCドライバーは要求されたプロパティをサポートしていません」とエラーになります。日付指定の方法が違うのではと推測するも解決しません。ご教授頂けないでしょうか。 SQL = “SELECT 注文番号, 項番, 納期 FROM 注文テーブル WHERE 納期 BETWEEN #2021/01/01# AND #2021/01/31#;”
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kawais070_1
- ベストアンサー率55% (515/931)
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');" 上記のようにしたらどうでしょうか。
- kawais070_1
- ベストアンサー率55% (515/931)
ttps://qiita.com/techmilestone/items/76bc79ba6d83c9a510ec 上記の例(先頭にhを付けてね)にならって、betweenを使わないようにして、to_date を使った書式でどうでしょうか。
補足
早速の回答ありがとうございます。 以下のように記載しましたが、同じエラーとなりました。 SQL = “SELECT 注文番号, 項番, 納期 FROM 注文テーブル WHERE 納期 => TO_DATE(‘2021/01/01’,’yyyy/mm/dd’) AND 納期=<TO_DATE(‘2021/01/31’,’yyyy/mm/dd’);”
補足
やってみましたが、同じエラーになってしまいます。