Accessで勤怠管理用のデータベースを作成しています。日付/時刻型のフィールド「作業日」を、給料計算のために「21日~翌月20日」単位で集計するため、クエリに以下のようなフィールドを作成しました。想定している結果は、以下の通りです、
■想定している規則
・日付が21以上のとき、翌月の1日の日付がはいる 例)2021/01/22 → 2021/02/01
・日付が21未満のとき、当月の1日の日付がはいる 例)2021/01/19 → 2021/01/01
IIf(Format([作業日],"d")>=21,Format(DateSerial(Year([作業日]),Month([作業日])+1,Day([作業日]),"yyyy/mm") & "/01",Format(DateSerial(Year([作業日]),Month([作業日]),Day([作業日])),"yyyy/mm") & "/01")
しかしなぜか、2021/1/29~30を2021/03/01と判定してしまいます。
他の日付だと想定通りに給料計算単位での日付が入力できるのに、なぜこのようになってしまうのでしょうか。
また、どのようにすれば、正しく想定している規則通りに集計できるのでしょうか。
回答2件
あなたの回答
tips
プレビュー