Accessで給与計算9~クエリの設定②年齢の計算

Pocket

社会保険料を計算するときに問題になるのが、年齢です。
健康保険料の場合は、40歳以上で介護保険料も徴収されます。
ですので、健康保険料を算定する前に、介護保険を徴収するのかしないのか
判断させる材料として、年齢を計算します。

給与計算クエリに年齢を追加。生年月日は別になくてもいいのですが、
分かり易いように追加しました。

2611241

年齢: IIf(Format([生年月日],”mm/dd”)>Format(Date(),”mm/dd”),DateDiff(“yyyy”,[生年月日],Date())-1,DateDiff(“yyyy”,[生年月日],Date()))

年齢は現在の月日(date)が誕生日の月日よりも小さい場合、まだその年は誕生日を迎えていないので
現在の年から誕生年を引いた数字から1を引いた数字を、
その逆は誕生日を迎えているので、単純に現在の年から誕生年を引いた数字を年齢として求めます。

誕生日と生年月日を比較するのが、
IIf(Format([生年月日],”mm/dd”)>Format(Date(),”mm/dd”)
Trueの場合は
DateDiff(“yyyy”,[生年月日],Date())-1→現在の年月日と誕生日との年数(“yyyy”)の差から1を
引いた値が生年月日となります。
Falseの場合は、
DateDiff(“yyyy”,[生年月日],Date())-1→現在の年月日と誕生日との年数(“yyyy”)の差
が生年月日となります。
DateDiff 関数の使い方はこちら
(マイクロソフトのHPにとびます。)

実行結果です。
dateが11/23の場合です。
2611242

2611243

今日は午前中はボーリング。久々に150がでました。
それよりも子供が急激に上手くなっているのに驚き!
やはり子供は吸収が早い。抜かれるのも時間の問題だな・・・
ボーリングもう少し上手くなりたいな。

本日も最後までお読み頂きありがとうござます。