AccessのVBAでSQLのDateDiff関数を使い年齢を計算する|フォーム実行例

DateDiff関数を使うと経過時間や経過日数を計算できます、それを利用し誕生日から年齢を求めます

構文: DateDiff( 'yyyy' , 誕生日, 日付)
これで経過年数が計算できます。



BackHome BackSQL Tips

サンプルソフト
■実行画面
ボタンをクリックすると、「名前」「生年月日」「年齢」を表示します。
年齢を計算させるフォーム

■計算元の社員マスターテーブル
社員データ

■実行結果
田山 由香 : 1990/10/05 : 18歳
大木 さわ : 1980/01/25 : 28歳
本田 信二 : 1985/12/18 : 23歳

[コード]
Option Compare Database

'年齢を計算させるボタン
Private Sub コマンド8_Click()
    Dim SQL As String
    Dim rs As Recordset
    Me!テキスト1 = Null
    SQL = "SELECT 名前,生年月日,datediff('yyyy',生年月日,Now) FROM M_社員マスター"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Do Until rs.EOF
        Me!テキスト1 = Me!テキスト1 & rs(0) & "  :  " & rs(1) & "  :  " & rs(2) & "歳" & vbCrLf
        rs.MoveNext
    Loop
    Set rs = Nothing
    End Sub

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

BackHome BackSQL Tips

Copyright(C) FeedSoft