DateSerial関数とIIF関数

Pocket

納品日が締日を過ぎていれば、翌月の締切になります。
前回の内容ではその設定をしていないので、その月の納品日が表示
されてしまいます。
2712261

これでは使い物にならないので、少し設定を変えます。
納品日が締日を過ぎていないなら、その月の締日を、
納品日が締日を過ぎているなら、翌月の締日を指定するようにします。
図のようにクエリを変更します。
2712264

変更するフィールドは締切日だけです。
締切日: IIf(Day([納品日])<=[締日],DateSerial(Year([納品日]),Month([納品日]),[締日]),DateSerial(Year([納品日]),Month([納品日])+1,[締日]))

IIF関数で条件分岐を行います。
納品日の日付だけを抽出し、それを締日と比べます。
Day([納品日])<=[締日]

納品日が締日を過ぎていない
→DateSerial(Year([納品日]),Month([納品日]),[締日])

納品日を過ぎている
→DateSerial(Year([納品日]),Month([納品日])+1,[締日])

単純に納品日を過ぎているときは、DateSerial関数の月指定で、1を足すだけです。

実行結果です。
2712265
すこしずつ実用的になってきました。

=============================
今年は早めに大掃除をしたので、あとは年賀状を書けば新年を迎える
準備が整います。大掃除が終わっただけでもずいぶんほっとしました。
今年も家の汚れも心の汚れもきれいにすることができたので、
すっきりした気持ちで新年を迎えられます。

本日も最後までお読み頂きありがとうございました。