Accessでnヶ月後の翌日を返す私製関数について
Accessである日の翌日から起算してnヶ月後の翌日を返す私製関数を作成しようとしています。VBAで、ある日を dt 、nヶ月のnを num 、として引数を定義し、下記のとおりfunctionプロシージャを作成しましたが、どうも変数の num が機能していないようで、常に1ヶ月後の翌日を返す関数となってしまっています。どのように改善すればよろしいか、どなたか教えてください。
なお、期間計算については、民法第143条のとおりに計算するようにします。
引用開始
第143条 週、月又は年によって期間を定めたときは、その期間は、暦に従って計算する。
2 週、月又は年の初めから期間を起算しないときは、その期間は、最後の週、月又は年においてその起算日に応当する日の前日に満了する。ただし、月又は年によって期間を定めた場合において、最後の月に応当する日がないときは、その月の末日に満了する。
引用終了
記
Function MultipleNmonth(dt As Date, num As Integer) As Date
Dim kekka As Date
If dt <> DateSerial(Year(dt), Month(dt) + 1, 0) Then
If Day(dt) + 1 <= Day(DateSerial(Year(dt), Month(dt) + num + 1, 0)) Then
kekka = DateSerial(Year(dt), Month(dt) + 1, Day(dt) + 1)
Else
kekka = DateSerial(Year(dt), Month(dt) + num + 1, 1)
End If
Else
kekka = DateSerial(Year(dt), Month(dt) + num + 1, 1)
End If
MultipleNmonth = kekka
End Function
お礼
日付を変換することにより解決しました。 ありがとうございました。
補足
回答ありがとうございます。 現在、テーブルを元にした選択クエリーを使用しています。 もう一度よく調べてみますね。