AccessのVBAでSQLのDateAdd関数で月の最後の日を求める

DateAdd関数の使用例サンプル

求めたい月の1日にDateAdd関数でひと月を加算し、そこからDateAdd関数で1日を減算し算出します。
SELECT dateadd('d',-1,dateadd('m',1,format(日付フィールド,'yyyy/mm/01'))) FROM テーブル名



BackHome BackSQL Tips

サンプルソフト
■実行画面
ボタンをクリックすると、「登録日」の月の末日を表示します。


■実行結果
2008/09/27 : 2008/09/30
2008/01/05 : 2008/01/31

[コード]
Option Compare Database

Private Sub コマンド8_Click()
    Dim SQL As String
    Dim rs As Recordset
    Me!テキスト1 = Null
    '月の最後の日を求める
    SQL = " SELECT 登録日,dateadd('d',-1,dateadd('m',1,format(登録日,'yyyy/mm/01'))) FROM T_在庫管理"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Do Until rs.EOF
        Me!テキスト1 = Me!テキスト1 & rs(0) & "  :  " & rs(1) & vbCrLf
        rs.MoveNext
    Loop
    Set rs = Nothing
    End Sub

サンプルソフトのダウンロード

BackHome BackSQL Tips

Copyright(C) FeedSoft