- ベストアンサー
accessのフォームフィルタで 土日だけを抽出したい
ACCESS2000 初心者です。よろしくお願いします。 フォームのフォームフィルタで日付欄から土日だけをを抽出する式を教えてください。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
連続した曜日を抽出する時には、判別しやすい形にすることができます。 Weekday の、第2引数を使います。 Weekday(日付,2) とすると、月曜日から 1 が振られます。 土曜:6 日曜:7 Weekday(日付,2) >= 6 で土日が判別できます。 また、 Weekday(日付,7) とすると、土曜日から 1 が振られます。 土曜:1 日曜:2 Weekday(日付,7) <= 2 で土日が判別できます。 範囲をどちらかに偏らせておくと、判別は楽なのかなと思います。 どちらかと言えば、土日なので、土曜を指定する後者の方が良いのかも。 以下手順でできるようです。 「レコード」→「フィルタ」→「フォームフィルタ」から 入力欄に Weekday([日付],7)<=2 を入力し フォーム上で、マウス右ボタンで「フィルタ/並べ替えの実行」を選びます。 または、 通常のフォーム上の日付をクリックし、マウス右ボタンで、 フィルタの対象欄に、Weekday([日付],7)<=2 を入力 設定された内容は、以下手順で編集できます。(初めからこの画面でも) 「レコード」→「フィルタ」→「フィルタ/並べ替えの編集」 と辿ると、クエリのデザイン画面と同じような表示になります。 そこで、フィールドに Weekday([日付],7) を入れ (入れると 式:Weekday([日付],7)に変わります) 抽出条件に <=2 とし、 マウス右ボタンで「フィルタ/並べ替えの実行」を選びます。 実行した後は、編集画面は閉じて良いです。 編集画面で、Weekday([日付]) を入れ 抽出条件に 1 Or 7 を設定/実行しても同じです。 ※編集画面にはSQLビュー的な機能はないようです。 また、フォーム上のボタンを押した時に土日に絞り込むのなら、以下の記述で良さそうです。 Private Sub btn1_Click() Me.Filter = "Weekday([日付],7)<=2" Me.FilterOn = True End Sub
お礼
大変親切丁寧な回答をありがとうございました。 式の意味まで教えてくださり、おかげさまで理解することが出来たので、感激しております。