【ACCESS VBA】2つの指定した日付の間隔を求めるには?

訪問して頂きありがとうございます。まさふくろーです。

この記事では、2つの指定した日付の間隔を求める方法をご紹介します。

2つの指定した日付の間隔を求める

使用する関数

DateDiff関数

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

説明
指定した開始日と終了日の間隔を返します。
指定項目 必須 説明
interval

時間単位を表す文字列を指定します。
指定する値は、以下の表になります。
date1 間隔を計算する開始日を指定します。
date2 間隔を計算する終了日を指定します。
firstdayofweek 週の始まりの曜日を表す定数または値を指定します。
指定する値は、以下の表になります。
firstweekofyear   年度の第1週を表す定数または値を指定します。
指定する値は、以下の表になります。

引数「interval」に指定する値

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

「週」と「週日」の違い

「週」単位と「週日」単位の違いは、週を計算する基準にあります。

「週」単位の場合、指定した日付から「日曜日」がいくつあるかを計算して加算します。

対して、「週日」単位の場合は、指定した日付の曜日がいくつあるかを計算します。

引数「firstdayofweek」に指定する定数と値

定数 内容
vbSunday
1 日曜日 (既定値) 
vbMonday 月曜日
vbTuesday 3 火曜日
vbWednesday 4 水曜日
vbThursday 5 木曜日
vbFriday 6 金曜日
vbSaturday 7 土曜日

引数「firstweekofyear」に指定する定数と値

定数 内容
vbFirstJan1
1 1月1日を含む週を年度の第1週とする (既定値) 
vbFirstFourDays 2 7日のうち、少なくとも4日が新年度に含まれる週を年度の第1週とする
vbFirstFullWeek 3 全体が新年度に含まれる最初の週の値を、年度の第1週とする

サンプルプログラム

1 Subプロシージャ「Sample」を作成。
6
開始日を、日付型変数「value1」に代入します。
7 終了日を、日付型変数「value2」に代入します。
9 変数「value1」「value2」の値から日数を取得し、結果をメッセージボックスに表示します。
10 変数「value1」「value2」の値から月数を取得し、結果をメッセージボックスに表示します。

実行結果

関連記事

最後まで読んでいただき、ありがとうございました!