ここから本文です

アクセス クエリで今日が○曜日だったら という条件を入れるやり方を教えてください...

yar********さん

2010/6/1819:51:42

アクセス クエリで今日が○曜日だったら という条件を入れるやり方を教えてください><

クエリ初心者です。

クエリで売り上げを調べる時に例えば商品発送日から3日以内の売り上げを調べるには
WHERE (((DateDiff("d",[T注文].[発送日],Now()))<=3))


で大丈夫なのですが、これに条件の追加で「今日が金曜日なら」と付け加えるにはandで
WHERE DateDiff("d",[T注文].[発送日],Now())<=3 AND Weekday(Now())=6を使えば
今日が金曜日でかつ発送が3日以内の売り上げを抽出できると言うことが教えていただきました。
(今日が金曜以外なら抽出されない)


次にこれが金曜でなく木曜や水曜ならどうすればいいですか??
(今日が○曜日だったら商品発送日から3日以内の売り上げを抽出する
但し指定曜日でないならば、抽出しないとしたいです)

何度も申し訳ありません、素人なので教えていただける幸いです。よろしくお願い致します。

閲覧数:
1,014
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

mi_********さん

編集あり2010/6/1820:05:28

Weekday関数の戻り値は、第2引数を指定しない場合(初期値の場合)、第1引数に与えた日付が

日曜の場合 1
月曜の場合 2
火曜の場合 3
水曜の場合 4
木曜の場合 5
金曜の場合 6
土曜の場合 7

となります。


したがって、木曜なら

WHERE DateDiff("d",[T注文].[発送日],Now())<=3 AND Weekday(Now())=5

水曜なら

WHERE DateDiff("d",[T注文].[発送日],Now())<=3 AND Weekday(Now())=4

というように、Weekday関数の戻り値と比較する値を書きかえればいいことになります。





*おまけ*



3日以前ではなく、19日前の日から、15日前の日までの分を抽出する場合の記述


今日が6月18日なので、19日前は5月31日、15日前は6月3日だと思います。


19日前は

DateAdd("d",-19,Now())


15日前は

DateAdd("d",-15,Now())

で求められますので


T注文.発送日 Between DateAdd("d",-19,Now()) And DateAdd("d",-15,Now()) AND Weekday(Now())=6
(金曜日だけ抽出する場合の例です。)

質問した人からのコメント

2010/6/21 12:19:04

mi_no_ho_do_si_ra_zu様
お返事遅れて申し訳ございませんm(__)m
前回に引き続き誠にありがとうございました!
分かりやすく教えていただいて、とても助かりました。

本当にありがとうございましたm(__)m

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる