No.3ベストアンサー
- 回答日時:
少し、回答を質問に沿ったものに修正しておきます。
質問者は月曜日を週の始まりとしているようです。
この場合、先に示した Monday関数、Sunday関数は、希望の日付を戻さないと思います。
次は、変形版のMonday関数、Sunday関数のテスト結果です。
[イミディエイト]
? Monday("2007/05/14")
2007/05/14
? Monday("2007/05/20")
2007/05/14
? Sunday("2007/05/14")
2007/05/20
? Sunday("2007/05/20")
2007/05/20
2007/05/14(月曜日)
2007/05/20(日曜日)
ですので、先の回答で示した関数の不具合は是正されています。
Public Function Monday(ByVal Hiduke As Date) As Date
Dim D As Date
D = DateAdd("d", 1, DateAdd("d", (Weekday(Hiduke) - 1) * -1, Hiduke))
Monday = D + (D > Hiduke) * 7
End Function
Public Function Sunday(ByVal Hiduke As Date) As Date
Dim D As Date
D = DateAdd("d", -1, Monday(Hiduke + 6))
Sunday = D - (D < Hiduke) * 7
End Function
大変ご丁寧にありがとうございます。
今回は2つ目の回答者様のものでやりたかったことができましたので、お教え頂いた方法は使いませんが、
今後ACCESSの使い方や、今回のやり方でもできないパターンが出てきた場合など、
ぜひぜひ参考にさせて頂ければと思います。
あとお二方に最高ポイントをお付けしたいのですが不可能なので、こういうポイントの付け方になりましたこと、お詫びし、アドバイスに感謝いたします。
ありがとうございました!
No.2
- 回答日時:
すでに入力されているテーブルから抽出するのかな
日付の抽出条件欄に
Between DateAdd("d",-Weekday([日を指定],2)+1,[日を指定]) And DateAdd("d",7-Weekday([日を指定],2),[日を指定])
No.1
- 回答日時:
まずは、[イミディエイトウインドウ] を開いて日曜日を求めてみましょう。
? Weekday("2007/05/09")
4
? DateAdd("d",-3,"2007/05/09")
2007/05/06
? DateAdd("d", (Weekday("2007/05/09")-1)*-1, "2007/05/09")
2007/05/06
? DateAdd("d", (Weekday("2007/05/06")-1)*-1, "2007/05/06")
2007/05/06
? DateAdd("d", (Weekday("2007/05/12")-1)*-1, "2007/05/12")
2007/05/06
次に、土曜日を求めてみましょう。
? DateAdd("d", (7-Weekday("2007/05/06")), "2007/05/06")
2007/05/12
? DateAdd("d", (7-Weekday("2007/05/12")), "2007/05/12")
2007/05/12
ここまでテストすれば、Monday関数、Saturday関数も作成可能です。
? Monday("2007/05/06")
2007/05/07
? Monday("2007/05/12")
2007/05/07
? Saturday("2007/05/06")
2007/05/12
? Saturday("2007/05/12")
2007/05/12
さて、実際に、テーブル[日報]より月曜日から土曜日までを抽出してみましょう。
<クエリ1>
ID______日付
127____2007/05/07
128____2007/05/08
129____2007/05/09
130____2007/05/10
131____2007/05/11
132____2007/05/12
Accessが作成したクエリ1を[SQLビュー]で見ると、次のようです。
SELECT 日報.ID, 日報.日付, *
FROM 日報
WHERE (((日報.日付) Between Monday("2007/05/09") And Saturday("2007/05/09")));
Public Function Monday(ByVal Hiduke As Date) As Date
Monday = DateAdd("d", 1, DateAdd("d", (Weekday(Hiduke) - 1) * -1, Hiduke))
End Function
Public Function Saturday(ByVal Hiduke As Date) As Date
Saturday = DateAdd("d", 7 - Weekday(Hiduke), Hiduke)
End Function
ここまで書いて月曜日から日曜日という特殊な抜き出し方であることに気が付きました。
同じ要領で Sunday関数を作ればいいと思います。
Public Function Sunday(ByVal Hiduke As Date) As Date
Sunday = DateAdd("d", 6, Monday(Hiduke))
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 毎日取得するデータを順番に反映していく方法 6 2023/08/26 16:22
- Excel(エクセル) 条件付き書式で文字入力 6 2022/08/29 10:40
- Visual Basic(VBA) 祝日を除いた月曜から土曜までの1週間分の日付行を選択し、別シートへカットアンドペーストしたい 13 2023/07/13 22:46
- Excel(エクセル) EXCELピボットテーブル関数について 2 2023/04/10 20:35
- Access(アクセス) Accessのデータ型の日付/時刻型について 1 2023/04/02 17:03
- Excel(エクセル) エクセルVBA オートフィルタでの絞り込みと並び替えについて 1 2023/07/08 13:08
- 病院・検査 7/1土曜日に家族が入院しました。 先週の金曜日と今週の月曜日に担当のドクターから電話で病状の説明が 5 2023/07/13 02:40
- 地球科学 太陽系の惑星と週(日曜日~土曜日)、月(1月~12月)に付いての質問です。 太陽系には、8つの惑星が 3 2022/10/08 22:32
- その他(就職・転職・働き方) 祭日の所定労働時間 4 2023/04/26 12:00
- Excel(エクセル) 出勤簿の土、日、休日に色付けできない 2 2022/08/04 20:10
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Accessで日付のみのデータから週次集計したい
Access(アクセス)
-
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
accessクエリで直前の水曜日〜火曜日の期間の条件
Access(アクセス)
-
-
4
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
5
今週分だけ表示させたい
その他(データベース)
-
6
ACCESS クエリの抽出条件に他のテーブルの値を参照する方法
Access(アクセス)
-
7
Excel VBAからAccessマクロを実行したい
Visual Basic(VBA)
-
8
【EXCEL】先週の月曜日の日付を入れたいのです。
Excel(エクセル)
-
9
アクセスのクエリで秒→時間、時間→秒に変換したい
Access(アクセス)
-
10
accessで重複を防ぎたい
Access(アクセス)
-
11
フォームで入力しても反映されない
Access(アクセス)
-
12
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
13
「#エラー」の回避
Access(アクセス)
-
14
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
15
クエリで割り算する方法を教えてください
Access(アクセス)
-
16
SQL Server2005のクエリで「今週のデータ」を抽出したいので
SQL Server
-
17
(ACCESS)条件に応じて、テキストボックスを表示・非表示設定
その他(データベース)
-
18
日付と文字列を条件としてDLookup関数で抽出さ
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「24日の0時」って・・・
-
差し込み印刷に当日の日付が入...
-
「時間」、「期日」、「日付」...
-
日付の大小の表現
-
エクセル マクロ 名前を付けて...
-
パソコンで購入したデーターが...
-
回覧板の日付について質問です...
-
EXCELで日付を****年上期、****...
-
履歴書の日付間違いで落ちますか。
-
Excelでヘッダに前日の日付を表...
-
スクリーンショットで撮影する...
-
ワードの日付け自動入力のキャ...
-
エクセルで日付け表示で、明治...
-
日付以外のデータを抽出したい...
-
ピボットテーブルの日付フィル...
-
Access VBA SQL文で教えてください
-
WEEKDAYが反映されない
-
PDFファイルに日付を名前にして...
-
PCの日付が起動のたびにリセ...
-
エクセル マクロで指定日にメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「24日の0時」って・・・
-
パソコンで購入したデーターが...
-
「時間」、「期日」、「日付」...
-
日付の大小の表現
-
差し込み印刷に当日の日付が入...
-
回覧板の日付について質問です...
-
エクセル マクロ 名前を付けて...
-
TODAY関数から次の火曜もしくは...
-
エクセルで日付別にシートを分...
-
Excelについて
-
スプレッドシートで使う数式を...
-
エクセルで日付け表示で、明治...
-
履歴書の日付間違いで落ちますか。
-
Excelでヘッダに前日の日付を表...
-
ACCESSで1月1日~12月31日まで...
-
ACCESSで日付ごとに自動連番(...
-
エクセルで6ヵ月後を自動入力で...
-
2つの日付の中間の日付 エク...
-
差込印刷 縦書きで和暦(漢数...
-
EXCELで日付を****年上期、****...
おすすめ情報