Access クエリ:DateDiff関数で年齢を計算する|担当者の誕生日フィールドに設定

クエリにDateDiff関数を使い満年齢を計算します。

BackHome Backクエリ

ここでは担当者テーブルの誕生日フィールドを満年齢に変換します。
DateDiffとは2つの日付の期間を取得できる関数です。
Excelでもこの関数を使いますが、Accessとでは計算結果が異なるので式は少し複雑になります。
DateDiff関数の構文:DateDiff(interval,date1,date2 [,firstdayofweek] [,firstweekofyear])

  • interval : (必須)時間単位を指定
  • date1 : (必須)開始日時を指定
  • date2 : (必須)終了日時を指定
  • firstdayofweek : (省略可)週の始まりの曜日を指定。省略した場合は、日曜日が週の始まりになります。
  • firstweekofyea : (省略可)年の第1週を指定。省略した場合は、1月1日を含む週が第1週になります。
interval:時間単位の定数
設定値 説明
yyyy
q 四半期
m
y 年間通算日
d
w 週日
ww
h
n
s

firstdayofweek:週の始まりの曜日の定数
定数 説明
0 vbUseSystem NLS APIの設定値(国別の環境をサポートする仕組み)
1 vbSunday 日曜日(既定値)
2 vbMonday 月曜日
3 vbTuesday 火曜日
4 vbWednesday 水曜日
5 vbThursday 木曜日
6 vbFriday 金曜日
7 vbSaturday 土曜日

firstweekofyea:年の第1週の定数
定数 説明
0 vbUseSystem NLS APIの設定値(国別の環境をサポートする仕組み)
1 vbFirstJan1 1月1日を含む週(既定値)
2 vbFirstFourDays 新年の少なくとも 4 日間を含む最初の週
3 vbFirstFullWeek 新年に含まれる最初の週

勤続年数の計算(DateDiff関数)」も掲載していますので参考にしてください。




DateDiff関数を使用するクエリの作成

リボンの「作成」タブ-「クエリデザイン」をクリックします。

作成リボン

使用するテーブルを選択します。

ここでは担当者テーブルを使います。

テーブルの表示ダイアログ

担当者ID、担当者名、誕生日フィールドを選択し、年齢を計算する式をフィールドに入力します。

式は下記になります。

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

満の年齢を計算するためにIIF関数で比較し月日が大きければ-1しています。

年齢フィールドを追加

作成したクエリを実行する

リボンの「実行」ボタンをクリックします。

リボンの実行

年齢が計算され表示されました。

誕生日から年齢を計算

BackHome Backクエリ

Copyright(C) FeedSoft