- ベストアンサー
ADOで日付に対してフィルタをかける
データ型→日付/時刻型 フィールド名→取得日時 レコードには 「09/05/08 10:46:04」というように 日付+時間(ようするにnow)が入っています。 ADOを使って「2008/4/1より大きい」データを取得したいのですが どうすればいいのでしょうか? いろいろ(↓)試してみましたが結果がおかしいです。 (本来なら3件の結果が返るはずなのに5件返ったりする) rs.Filter = " 取得日時 > '" & "08/04/01" & "'" rs.Filter = " 取得日時 > '" /04/01# & "'" そもそも「#」を付けるのかわかりません。 「#」をつけると " /4/2001# となってしまいます。 これは「2001/8/4」になってしまっているのでしょうか? ご教授よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>そもそも「#」を付けるのかわかりません。 「#」をつけると #で囲むと日付型として認識させることができます。 日付型の書式は #月/日/年# となります。 したがって 2008年4月1日は #04/01/2008# または #4/1/08# となります。
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
rs.Filter = " 取得日時 > 04/01/08 " ではないかと。 http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom%2Easp%3Ftarget%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2Fjp413%2F6%2F05%2Easp&LN=JA
お礼
まさしくそのとおりでしたね。 ありがとうございます。
お礼
ありがとうございます。 と言うことは日付型のデータを取得するなら rs.Filter = " 取得日時 > 04/01/08 " より rs.Filter = " 取得日時 > #04/01/08# " のほうがいいのでしょうか?