Between演算子を使用し、1週間のうちどこで集計しても「先週の月曜日から先週の日曜日まで」の日付を8桁で表示させるよう抽出条件を記述
正しくは「今週の日曜日まで」であり、また[請求日]のデータ型がテキスト型であると仮定した場合。
SQL
1PARAMETERS [基準日を入力] DATETIME;
2SELECT [MACH_SUB_請求明細ファイル].[請求日],
3 Weekday(Format([MACH_SUB_請求明細ファイル].[請求日],"0000/00/00"),2) AS [月曜日を週初日とした場合の請求日の曜日],
4 Nz([基準日を入力],Date()) AS [基準日],
5 DateAdd("d",1-Weekday(Nz([基準日を入力],Date()),2),Nz([基準日を入力],Date())) AS [基準日の週初日],
6 DateAdd("d",7-Weekday(Nz([基準日を入力],Date()),2),Nz([基準日を入力],Date())) AS [基準日の週末日],
7 DateAdd("d",-6-Weekday(Nz([基準日を入力],Date()),2),Nz([基準日を入力],Date())) AS [基準日の前週初日],
8 DateAdd("d",-Weekday(Nz([基準日を入力],Date()),2),Nz([基準日を入力],Date())) AS [基準日の前週末日]
9FROM [MACH_SUB_請求明細ファイル]
10WHERE (IsDate(Format([MACH_SUB_請求明細ファイル].[請求日],"0000/00/00")) = True)
11 AND ([MACH_SUB_請求明細ファイル].[請求日] BETWEEN Format(DateAdd("d",-6-Weekday(Nz([基準日を入力],Date()),2),Nz([基準日を入力],Date())),"yyyymmdd")
12 AND Format(DateAdd("d",-Weekday(Nz([基準日を入力],Date()),2),Nz([基準日を入力],Date())),"yyyymmdd"))
13ORDER BY [MACH_SUB_請求明細ファイル].[請求日];
クエリパラメータ[基準日を入力]には日付/時刻型の値を入力して下さい。
(省略時は現在のシステム日付を基準日とします)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/07/11 06:31