Microsoft Access Club >AccessTips >このページ >次頁 < 前項  サイト内検索


生年月日から自動で年齢を表示させる - クエリの利用:AccessTips097



年齢を求める方法は、いろんなところで要求されます。今回は、簡易に年齢を求めるプロシージャを作成しクエリ上で展開する方法をご紹介します。

サンプルプロシージャ

年齢を求めるプロシージャを作成します。次に、このプロシージャを値をフォーム上に表示させます。

Function manyear(年月日) As Integer

    Dim nowbirthday As Date

    '日付形式であるかどうか判断します。Null対策も含みます。
    If IsDate(年月日) Then
        '日付の間隔を計算する DateDiff関数 を用いて"年"を計算します。
        manyear = DateDiff("yyyy", 年月日, Date)
        '今年の誕生日を求めます
        nowbirthday = DateSerial(Year(Date), Month(年月日), Day(年月日))
        'もし、今年の誕生日が過ぎていれば求めた 満年齢 から1歳引きます。
        If nowbirthday > Date Then
            manyear = manyear - 1
        End If

    End If

End Function

生年月日が連結テキストボックスにある場合

クエリフィールドに年齢を表示させます。

  1. フォームのレコードソースをクエリに変換します。
  2. クエリをデザインビューで開きます。
  3. 下図のように、クエリ内で新しいフィールドを作成し名前を年齢とします。

  1. Functionプロシージャ manyear をクエリフィールドに配置し、「生年月日」フィールド名を引数とします。
  2. &(アンパサンド)を用いて文字列 歳 を連結させます。
  3. 上記のようにフォームにテキストボックスを新規に作成します。
  4. コントロールソースに年齢クエリフィールドを配置します。

関連ページ

2003/05/29

ページの先頭へ 前ページへ戻る

 


生年月日から自動で年齢を表示させる - クエリの利用:AccessTips097


 

-Microsoft Access Club-