文書番号: 401946
最終更新日: 1997/11/01
フィールド名 データ型
-------------- ------------
氏名 テキスト型
誕生日 日付/時刻型
フィールド行
------------
年齢: IIf(Right(Format([年齢表]![誕生日],"yyyy/mm/dd"),5)>
Mid(Format(Now(),"yyyy/mm/dd"),6,5),DateDiff("yyyy",
[年齢表]![誕生日],Now())-1,DateDiff("yyyy",[年齢表]!
[誕生日],Now()))
関数名: Age()
使用目的:生年月日から現在までの経過年数の計算
引き数: StartDate (例:誕生日等)
戻り値: 年齢 (経過年数)
------------------------------------------------------------------------
Function Age (varBirthDate As Variant)
Dim varAge As Variant
If IsNull(varBirthdate) Then
Age = 0
Exit Function
End If
varAge = DateDiff("yyyy", varBirthDate, Now)
If Date < DateSerial(Year(Now),Month(varBirthDate),Day(varBirthDate)) Then
varAge = varAge - 1
End If
Age = varAge
End Function
------------------------------------------------------------------------
関数名: AgeMonths()
使用目的:最後の誕生日から現在の経過月数を計算します。
本日が誕生日の時は、月数にゼロを返します。
引き数: StartDate (例:誕生日等)
戻り値: 最後の誕生日以降の経過月数
------------------------------------------------------------------------
Function AgeMonths(ByVal StartDate As String)
Dim tAge As Double
tAge = (DateDiff("m", StartDate, Now))
If (DatePart("d", StartDate) > DatePart("d", Now)) Then
tAge = tAge - 1
End If
If tAge < 0 Then
tAge = tAge + 1
End If
AgeMonths = tAge Mod 12
End Function
------------------------------------------------------------------------
なお、作成したユーザー 定義関数は、クエリー、フォーム、レポート等でご利用になれます。
フィールド名 データ型
-------------- ------------
氏名 テキスト型
誕生日 日付/時刻型
=Age([誕生日]) & " 歳 " & AgeMonths([誕生日]) & "ヶ月"
『 Microsoft Access ユーザーズ ガイド』
第 2 部 クエリー 5 クエリーの概要 P111 ~ P137
『 Microsoft Access リファレンス』
IIF 関数 P345 ~ P346
Right 関数 P397 ~ P398
Datediff 関数 P291 ~ P292
Format 関数 P334 ~ P341
Now 関数 P379
『 Microsoft Access ユーザーズ ガイド』
第 3 部 フォーム 9 フォームの作成 P247 ~ P314
11 フォームでの式の使用 P335 ~ P344
『 ユーザーズ ガイド』
第 3 部 クエリー 10 クエリーの概要 P219 ~ P250
『 リファレンス』
IIF 関数 P264 ~ P265
Right 関数 P446 ~ P447
Datediff 関数 P128 ~ P131
Format 関数 P223 ~ P232
Now 関数 P349
『 ユーザーズ ガイド』
第 4 部 フォーム 15 フォームの作成 P373 ~ P413
18 フォームでの式の使用 P493 ~ P507
Keywords: KBHOWTO KB401946
Technology: kbAccess200 kbAccessSearch