- 締切済み
Access2013で翌日のデータのみのクエリ
お世話になります。 Access2013を使用しており、2つの日付フィールドを比較して 翌日のレコードのみ抜き出したい場合のクエリについて質問で ございます。 日付Aフィールド と 日付Bフィールドが あり、それぞれ日付と時刻が書式yyyy/mm/dd hhmmss で格納されております。 このうち、クエリで抽出したいのは、 日付Bフィールドに格納されている、 日付Aフィールドの翌日のレコードのみを 抽出したいです。 その際、時刻(hhmmss)は無視して翌日のレコードを 抽出したいです。 例えば、 日付Aフィールドに 2016/08/24 15:00:00 2016/08/24 16:00:00 2016/08/24 17:00:00 というデータが格納されていて、 日付Bフィールドに 2016/08/25 00:00:00 2016/08/25 17:00:00 2016/08/26 00:00:00 というデータが格納されていた場合、 日付Bフィールドの 2016/08/25 00:00:00 2016/08/25 17:00:00 のみ抽出したいです。 この場合のクエリの設定方法を教えてください。 どうぞ宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- m3_maki
- ベストアンサー率64% (296/460)
日付型でもテキスト型でも OKです。(2013 では違う名前だった?) フィールド: Datediff("d",[日付A],[日付B]) 抽出条件: 1
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
SELECT テーブル1.* FROM テーブル1 WHERE (((CDate(Format([日付Bフィールド],"yyyy/mm/dd"))-CDate(Format([日付Aフィールド],"yyyy/mm/dd")))=1)); 日付Aフィールド、日付Bフィールドは、どちらも「日付時刻型」だと想定しています。 もし、日付Aフィールド、日付Bフィールドが、どちらも「テキスト型」の場合は、以下のようにします。 SELECT テーブル1.* FROM テーブル1 WHERE (((CDate(Format(CDate([日付Bフィールド]),"yyyy/mm/dd"))-CDate(Format(CDate([日付Aフィールド]),"yyyy/mm/dd")))=1));