アクセス担当のまみです。
年齢を自動的に計算出来たらどうですか!手打ち入力をしていたら必ずついてくる入力ミス!
その入力ミスが完全になくせれるとしたらいかがですか、きっとすごく嬉しくなりますよね!
そんな入力ミス完全排除をほどこしてみませんか?
今回は、基準日現在での年齢を表示する方法をお伝えしますね。
Contents
基準日って何?
年齢を求めるにはいつの時点でってわからないと計算できないので、基準日を設けるんですね。
年齢の計算
年齢の計算ってDateDiff関数って関数を使用します。
DateDiff(単位, 日時1, 日時2)
この構文に当てはめれば年齢が計算できます。
ただ、年齢を求める場合には単位は「”yyyy”」になるわけですが、この場合、日時1と日時2の間の年をまたいだ回数を計算してくれるので注意が必要です。
DateDiff(“yyyy”,[生年月日],Date())で現在までの年齢が求められるのは、誕生日が過ぎている場合で、誕生日がまだ来ていない場合にはDateDiff(“yyyy”,[生年月日],Date())から1を引いてあげれば良いってことになります。
IIf(式, 真の場合, 偽の場合)
以上のことと、IIF関数を組み合わせることで、年齢を求めることができます。
現在の年齢を求める式
IIf(Format(Date(),”mmdd”)<Format([生年月日],”mmdd”),DateDiff(“yyyy”,[生年月日],Date())-1,DateDiff(“yyyy”,[生年月日],Date()))
年度末の年齢を求める式
DateDiff(“yyyy”,[生年月日],”2019/3/31″)+(Format([生年月日],”mm/dd”)>”3/31″)
テーブルの準備
では実際に年齢計算をやってみましょう。
使用するテーブルは下記のとおりです。
「T_年齢計算」テーブル
ID | オートナンバー型 |
氏名 | 短いテキスト |
生年月日 | 日付/時刻型 |
データはご自身で準備してみてくださいね。
思いつかなければ下記と同じものをどうぞ!
クエリで年齢計算
「作成」タブの「クエリデザイン」から「T_年齢計算」テーブルを選択したら、すべて表示されるように「*」を選びます。
フィールドに下記の2つをそれぞれ入力します。
本日の年齢:IIf(Format(Date(),”mmdd”)<Format([生年月日],”mmdd”),DateDiff(“yyyy”,[生年月日],Date())-1,DateDiff(“yyyy”,[生年月日],Date()))
年度末年齢:DateDiff(“yyyy”,[生年月日],”2019/3/31″)+(Format([生年月日],”mm/dd”)>”3/31″)
テーブルに直接入力してしまうと、手計算だし、基準日が変わると全部修正になってしまうけど、クエリだと基準日の変更のみで自動計算してくれます。
まとめ
年齢計算を自動でできると便利ですね。
手計算で入力していると、自分の生年月日に近いと気が付くけど、間違っていても気が付きにくいんですね。
年齢計算の求め方を知っていると役に立ちますよ!