ある人が特定の年齢 (歳) を超えているかどうかを調べて、何らかの給付を受ける資格を得たいと考えています。
VB 6.0でDateDiff(間隔として「YYYY」を使用)関数を使用したときに完全な回答が得られなかったため、この質問を投稿しました
ロジックを変更し、DateAdd 関数を使用してから DateDiff を使用しました。正確な年齢を調べるために、次のコードを書きました。
Public Function GetAge(dob As Date) As Integer
Dim tempDate As Date
If IsDate(dob) = False Then
GetAge = -1
Else
tempDate = DateAdd("yyyy", 11, dob)
If DateDiff("d", tempDate, Date) > 0 Then
tempDate = DateAdd("yyyy", 19, dob)
If DateDiff("d", tempDate, Date) > 0 Then
tempDate = DateAdd("yyyy", 25, dob)
If DateDiff("d", tempDate, Date) > 0 Then
GetAge = 3
Else
GetAge = 2
End If
Else
GetAge = 1
End If
Else
GetAge = 0
End If
End If
End Function
ノート:
-1 : Error in DOB
0 : child
1 : Teens
2 : Youth
3 : Senior