• ベストアンサー

★クエリでの日付の抽出

アクセス2000で注文書の管理をしています。 注文書テーブルにある「支払日」フィールドをもとにクエリで抽出を行いたいのですが、 その抽出条件を『今日以前7日間~今日以降7日間』としたいのです。 その場合、抽出条件はどのように記述すれば良いでしょうか? ご回答をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmor
  • ベストアンサー率27% (225/825)
回答No.3

日付の抽出条件で Between DateAdd("d",-7,Now()) And DateAdd("d",7,Now()) とすればできます。 DateAddとは、ある日付から何(日、月、年など)をどれくらい加算する という関数です。 7日前は "d"(日)を-7日今の日付から(Now())加算する 7日後は "d"(日)を7日今の日付から(Now())加算する と言う意味です。

non23
質問者

お礼

できました!感謝ですm(__)m

その他の回答 (2)

  • wildcard
  • ベストアンサー率54% (54/100)
回答No.2

『今日以前7日間~今日以降7日間』 と言う事ですから、7日前と7日後も含むのでしょうか?含むので有れば下記で大丈夫です。含まない場合は、2カ所の=を消して下さい。 >=DateSerial(Year(Now()),Month(Now()),Day(Now()))-7 And <=DateSerial(Year(Now()),Month(Now()),Day(Now()))+7 また、Between ~ And ~形式であれば、下記の記述でOKです。 Between DateSerial(Year(Now()),Month(Now()),Day(Now()))-7 And DateSerial(Year(Now()),Month(Now()),Day(Now()))+7 もっとスマートな式もあるとは思いますが…

non23
質問者

お礼

ありがとうございました!

  • eub55
  • ベストアンサー率39% (58/147)
回答No.1

○○~××まで という条件を書くときには 『Between ○○ And ××』 という記述をします。 また、今日を表すにはアクセスでは関数Date()を使用します。 つまり、 今日以前7日前 → Date()-6 今日以降7日目 → Date()+6 なので、 Between Date()-6 And Date()+6 で良いのではないかと思います。

non23
質問者

お礼

参考になりました。ありがとうございます。