テキストボックスに生年月日を入力し、「実行」ボタンをクリックしてください。
年齢はDateDiff関数を使いネンの差で計算しています。今年の誕生日がまだ来ていない場合はマイナスしています。
干支は年を12で割った余りで求められます。割り切れる場合は「申」、そして1から順に「酉、戌、亥、子、丑、寅、卯、辰、巳、午、羊」になります。
Accessフォームのボタンをクリックすると、現在の日付・時間から取り出しラベルコントロールに表示jします。
■ Access VBA 実行コード
Option Compare Database
Option Explicit
Private Sub コマンド6_Click()
Dim s1 As String
Dim tdate As Date
Dim nage As Integer
Dim seto As String
If Nz(Me!テキスト1) = "" Then
MsgBox "生年月日を入力してください。"
Exit Sub
End If
If Not IsDate(Me!テキスト1) Then
MsgBox "生年月日が日付型ではありません。"
Exit Sub
End If
tdate = Me!テキスト1
'年齢の計算
If Date < DateSerial(Year(Now), Month(tdate), Day(tdate)) Then
nage = DateDiff("yyyy", tdate, Now) - 1
Else
nage = DateDiff("yyyy", tdate, Now)
End If
s1 = "年齢: " & nage & vbCrLf
'干支の計算
Select Case Year(tdate) Mod 12
Case 0: seto = "申"
Case 1: seto = "酉"
Case 2: seto = "戌"
Case 3: seto = "亥"
Case 4: seto = "子"
Case 5: seto = "丑"
Case 6: seto = "寅"
Case 7: seto = "卯"
Case 8: seto = "辰"
Case 9: seto = "巳"
Case 10: seto = "午"
Case 11: seto = "羊"
End Select
s1 = s1 & "干支: " & seto
Me!ラベル1.Caption = s1
End Sub