クエリを使った年齢計算

解説

テーブルに「生年月日」フィールドがある時は、クエリに年齢計算用の演算フィールドを設けることで年齢計算をすることが出来ます。 計算は「生年月日」と「現在日付(@Now)」をDateDiff関数で行いますが、当年の誕生日が来ていない場合は「1」を引かねばなりません。 これをIIF関数で調整します。

    (ポイント)
  • DateDiff関数で年の差を取り出す
  • 誕生日前か否かの調整をIIF関数で行う

作成例

次が年齢計算クエリです

計算フィールドの式の作戦手順

  1. 生年月日から現在までの年の経過数をDateDiff関数で計算
    DateDiff("yyyy",[生年月日],Now())
  2. 今日が誕生日より前だったら、「-1」とする計算をIIF関数で行う
    IIf(Format(Now(),"mmdd") < Format([生年月日],"mmdd"),-1,0)
  3. 上の式を組み合わせて、表題を付け加えます。
    年齢: DateDiff("yyyy",[生年月日],Now())+IIf(Format(Now(),"mmdd")<Format([生年月日],"mmdd"),-1,0)

(この項終わり)