Access VBAで2つの日付の日数を計算します。
DateDiff関数を使うと、日数だけでなく、年や時間なども取得できます。
[構文]
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
[引数]
interval : 計算する間隔を指定します。
date1, date2 : 計算する2つの日付を指定します。
firstdayofweek : 週の始まりの曜日を表す定数を指定します。省略すると、日曜日を指定したものとみなされます。
firstweekofyear : 年度の第 1 週を表す定数を指定します。省略すると、1 月 1 日を含む週が第 1 週とみなされます。
[intervalの定数]
yyyy : 年
q : 四半期
m : 月
y : 年間通算日(日数)
d : 日
w : 曜日(曜日を表す数値)
ww : 週(何週間か)
h : 時
n : 分
s : 秒
■ サンプルソフト実行画面
・ 時間間隔を計算した画面
・ 日付間隔を計算した画面
■ Access VBA 実行コード
Option Compare Database
Option Explicit
Private Sub コマンド10_Click()
Dim ln As Long
Dim stdate As Date
Dim endate As Date
If IsNull(Me!テキスト6) Then
MsgBox "開始日を入力してください。"
Exit Sub
End If
If IsNull(Me!テキスト8) Then
MsgBox "終了日を入力してください。"
Exit Sub
End If
stdate = Me!テキスト6
endate = Me!テキスト8
If Me!フレーム0 = 1 Then
'時間を計算
ln = DateDiff("h", stdate, endate)
Else
'日数を計算
ln = DateDiff("d", stdate, endate)
End If
'結果を表示
Me!テキスト11 = ln
End Sub