こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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
のみ抽出したいです。

この場合のクエリの設定方法を教えてください。

どうぞ宜しくお願いいたします。

投稿日時 - 2016-08-24 16:48:25

QNo.9219646

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

日付型でもテキスト型でも OKです。(2013 では違う名前だった?)

フィールド:
Datediff("d",[日付A],[日付B])
抽出条件:
1

投稿日時 - 2016-08-24 18:54:03

ANo.1

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));

投稿日時 - 2016-08-24 17:43:24

あなたにオススメの質問