翌月の1日から-1し月末を求める方法もあります。
例えば2月末日ならば、3月31日 - 1 とする方法
しかし、この場合、月を+1しないといけないので前処理が必要です。どっちもどっちでしょう。
■ Access VBA 実行コード
Public Function MyGetLastDay(tDate As Date) As Integer
Dim i As Integer
i = 28
Do
i = i + 1
Loop Until Day(tDate + i - 1) = 1
MyGetLastDay = i - 1
End Function
Private Sub コマンド0_Click()
Me.Caption = MyGetLastDay("2003/2/1")
End Sub