構文:DateAdd(interval, number, date)
intervalは時間間隔を表す下記の文字列式を指定します。
yyyy : 年
q : 四半期
m : 月
y : 年間通算日(間の日数)
d : 日
w : 週日
ww : 週
h : 時
n : 分
s : 秒
サンプルソフト
■実行画面
ボタンをクリックすると、「登録日」に加算・減算した結果を表示します。
■実行結果
年: 2008/09/27 : 2009/09/27 : 2007/09/27
四半期: 2008/09/27 : 2008/12/27 : 2008/06/27
月: 2008/09/27 : 2008/10/27 : 2008/08/27
年間通算日: 2008/09/27 : 2008/09/28 : 2008/09/26
日: 2008/09/27 : 2008/09/28 : 2008/09/26
週日: 2008/09/27 : 2008/09/28 : 2008/09/26
週: 2008/09/27 : 2008/10/04 : 2008/09/20
時: 2008/09/27 : 2008/09/27 1:00:00 : 2008/09/26 23:00:00
分: 2008/09/27 : 2008/09/27 0:01:00 : 2008/09/26 23:59:00
秒: 2008/09/27 : 2008/09/27 0:00:01 : 2008/09/26 23:59:59
[コード]
Option Compare Database
Private Sub コマンド8_Click()
Dim SQL As String
Dim rs As Recordset
Me!テキスト1 = Null
'年を加算・減算
SQL = " SELECT 登録日,DateAdd('yyyy', 1, 登録日),DateAdd('yyyy', -1, 登録日) FROM T_在庫管理"
Set rs = CurrentDb.OpenRecordset(SQL)
Me!テキスト1 = Me!テキスト1 & "年: " & rs(0) & " : " & rs(1) & " : " & rs(2) & vbCrLf
Set rs = Nothing
'四半期を加算・減算
SQL = " SELECT 登録日,DateAdd('q', 1, 登録日),DateAdd('q', -1, 登録日) FROM T_在庫管理"
Set rs = CurrentDb.OpenRecordset(SQL)
Me!テキスト1 = Me!テキスト1 & "四半期: " & rs(0) & " : " & rs(1) & " : " & rs(2) & vbCrLf
Set rs = Nothing
'月を加算・減算
SQL = " SELECT 登録日,DateAdd('m', 1, 登録日),DateAdd('m', -1, 登録日) FROM T_在庫管理"
Set rs = CurrentDb.OpenRecordset(SQL)
Me!テキスト1 = Me!テキスト1 & "月: " & rs(0) & " : " & rs(1) & " : " & rs(2) & vbCrLf
Set rs = Nothing
'年間通算日を加算・減算
SQL = " SELECT 登録日,DateAdd('y', 1, 登録日),DateAdd('y', -1, 登録日) FROM T_在庫管理"
Set rs = CurrentDb.OpenRecordset(SQL)
Me!テキスト1 = Me!テキスト1 & "年間通算日: " & rs(0) & " : " & rs(1) & " : " & rs(2) & vbCrLf
Set rs = Nothing
'日を加算・減算
SQL = " SELECT 登録日,DateAdd('d', 1, 登録日),DateAdd('d', -1, 登録日) FROM T_在庫管理"
Set rs = CurrentDb.OpenRecordset(SQL)
Me!テキスト1 = Me!テキスト1 & "日: " & rs(0) & " : " & rs(1) & " : " & rs(2) & vbCrLf
Set rs = Nothing
'週日を加算・減算
SQL = " SELECT 登録日,DateAdd('w', 1, 登録日),DateAdd('w', -1, 登録日) FROM T_在庫管理"
Set rs = CurrentDb.OpenRecordset(SQL)
Me!テキスト1 = Me!テキスト1 & "週日: " & rs(0) & " : " & rs(1) & " : " & rs(2) & vbCrLf
Set rs = Nothing
'週を加算・減算
SQL = " SELECT 登録日,DateAdd('ww', 1, 登録日),DateAdd('ww', -1, 登録日) FROM T_在庫管理"
Set rs = CurrentDb.OpenRecordset(SQL)
Me!テキスト1 = Me!テキスト1 & "週: " & rs(0) & " : " & rs(1) & " : " & rs(2) & vbCrLf
Set rs = Nothing
'時を加算・減算
SQL = " SELECT 登録日,DateAdd('h', 1, 登録日),DateAdd('h', -1, 登録日) FROM T_在庫管理"
Set rs = CurrentDb.OpenRecordset(SQL)
Me!テキスト1 = Me!テキスト1 & "時: " & rs(0) & " : " & rs(1) & " : " & rs(2) & vbCrLf
Set rs = Nothing
'分を加算・減算
SQL = " SELECT 登録日,DateAdd('n', 1, 登録日),DateAdd('n', -1, 登録日) FROM T_在庫管理"
Set rs = CurrentDb.OpenRecordset(SQL)
Me!テキスト1 = Me!テキスト1 & "分: " & rs(0) & " : " & rs(1) & " : " & rs(2) & vbCrLf
Set rs = Nothing
'秒を加算・減算
SQL = " SELECT 登録日,DateAdd('s', 1, 登録日),DateAdd('s', -1, 登録日) FROM T_在庫管理"
Set rs = CurrentDb.OpenRecordset(SQL)
Me!テキスト1 = Me!テキスト1 & "秒: " & rs(0) & " : " & rs(1) & " : " & rs(2) & vbCrLf
Set rs = Nothing
End Sub
サンプルソフトのダウンロード