履歴書などの年月計算方法
 通常ある日付データ間の年数や月数を得る場合は、DateDiff関数を用います。例えば、「日付1」と「日付2」があってこの間は何ヶ月かを知るにはDateDiff("m",[日付1],[日付2])という式になります。
 しかし、この場合、1ヶ月に満たないものは「0」として処理されます。たとえば、平成13年4月1日から平成14年3月31日までは、12ヶ月=1年となるはずなのに上記の例では11ヶ月にしか判断されません。
 履歴書のように、ほとんどが月初めから月末となる場合には、別な計算方法が必要になってきます。
まず、標準モジュールに次のように記述します。
'---------------------------------------------------
Public Function nen(日付1, 日付2) As Long

Dim tuki2 As Long

If Day(日付1) < Day(日付2) Then
tuki2 = DateDiff("m", 日付1, 日付2) + 1
Else
tuki2 = DateDiff("m", 日付1, 日付2)
End If

nen = Int((tuki2) / 12)

End Function
'---------------------------------------------------
Public Function tuki(日付1, 日付2) As Long

If Day(日付1) < Day(日付2) Then
tuki = (DateDiff("m", 日付1, 日付2) + 1) Mod 12
Else
tuki = (DateDiff("m", 日付1, 日付2)) Mod 12
End If

End Function
'---------------------------------------------------
 上段は「年数」を下段は「月数」を計算させます。次に、「日付1」「日付2」が格納されたテーブルを元にクエリーを作成し、上記関数を呼び出したフィールドを作成します。このクエリーをもとに下記のようなフォームを作成しました。
また、年数を集計する場合は、フォームフッターにテキストボックスを
作成し、コントロールソースに次のように式を入れます。
【月数合計】
=IIf(Sum([tuki])<12,Sum([tuki]),Sum([tuki]) Mod 12)

【年数合計】
=IIf(Sum([tuki])<12,Sum([nen]),Int(Sum([tuki])/12)+Sum([nen]))