Access:勤続年数の計算クエリ|日付間隔を求めるDateDiff関数

2つの日付から期間を算出できるDateDiff関数を使い、勤続年数の計算するクエリを作成します。

BackHome Backクエリ

DateDiff関数を使うと、2つの日付から間隔を求めることができます。

勤続年数を計算するには、このDateDiff関数で「現在の日付-入社日」で求めることができます。

DateDiff関数の構文

DateDiff(interval, date1, date2 [, firstdayofweek] [, firstweekofyear])

  • interval : 時間間隔を表す設定値
  • date1、date2 : 間隔を計算する2つの日付
  • firstdayofweek : (省略可能) 週の最初の曜日を指定する定数
  • firstweekofyear : (省略可能) 年の第1週を指定する定数

引数 intervalの値

設定値 内容
yyyy
q 四半期
m
y 年間通算日
d
w 週日
ww
h
n
s

引数 firstdayofweekの値

設定値 内容
vbUseSystem 0 NLS API の設定
vbSunday 1 日曜日(既定値)
vbMonday 2 月曜日
vbTuesday 3 火曜日
vbWednesday 4 水曜日
vbThursday 5 木曜日
vbFriday 6 金曜日
vbSaturday 7 土曜日

引数 firstdayofweek

設定値 内容
vbUseSystem 0 NLS API の設定
vbFirstJan1 1 1月1日を含む週(既定値)
vbFirstFourDays 2 新しい年の少なくとも4日間を含む最初の週
vbFirstFullWeek 3 全体が新しい年に含まれる最初の週



DateDiff関数を使い、勤続年数の計算するクエリを作成

クエリのデザインビューで作成

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

勤続年数の計算をするAccessクエリを作成する

勤続年数を計算するテーブルを追加します。

ここでは社員データベースの「T_社員管理」を使用します。

社員テーブルを追加する

勤続年数を計算する式を入力します。

今の年月と比較し計算させています。

DateDiffのinterval引数を"yyyy"にし、年を取得するようにしています。

勤続年数:Iif(format([入社日],"mm/dd")>Format(Date(),"mm/dd"),DateDiff("yyyy",[入社日],Date())-1,DateDiff("yyyy",[入社日],Date()))

勤続年数の計算式を入力

作成したクエリの実行

リボンの「クエリツール デザイン」-「実行」ボタンをクリックします。

クエリを実行する

実行画面です。

入社日から勤続年数が計算されています。

クエリを実行するたびに、実行した日付で計算されます。

勤続年数の計算表

DateDiff関数については「AccessのVBAでSQLのDateDiff関数を使い年齢を計算する|フォーム実行例」も掲載していますので参考にしてください。



BackHome Backクエリ

Copyright(C) FeedSoft