Age Calculation
Age Calculation examples are illustrated below. The
first method used the datediff function in the age calculations. The
second tutorial demonstrates the use of the date serial function. Each
example uses today's date - this can be easily switch to a field from you forms
or tables.
Age Calculation Long Method
Private Sub Birth_Dte_AfterUpdate()
Dim iyears As Integer
Dim tmonth As Integer
Dim Bmonth As Integer
'
iyears = DateDiff("yyyy", "01/01/" & DatePart("yyyy",
Me.Birth_Dte), _
"01/01/" & DatePart("yyyy", Me.Todays_Date)) - 1
tmonth = DatePart("m", Me.Todays_Date)
Bmonth = DatePart("m", Me.Birth_Dte)
'
Select Case tmonth
Case Is > Bmonth
iyears =
iyears + 1
Case Is = Bmonth
If
DatePart("d", Me.Birth_Dte) <= _
DatePart("d",
Me.Todays_Date) Then iyears = iyears + 1
End Select
End Sub
VBA Age Calculation - Short Method Using Date Serial
Visual Basic Function:
Function age(vb_Dte As Variant)
Dim v_Age_Calc As Variant
v_Age_Calc = DateDiff("yyyy", vb_Dte, Now)
If Date < DateSerial(Year(Now), _
Month(vB_Date), Day(vb_Dte)) Then v_Age_Calc = v_Age_Calc - 1
age = CInt(v_Age_Calc)
End Function
Additional information on the
Date Serial function can be found in a VBA Functions tutorial section.
You can also review details about the
DateDiff function
in the same section.