ACCESS DateAdd関数で日付を操作する方法
ACCESSで日付を扱うことは多いと思います。
先月の月末の日付や、来月の月初の日付など特定の日付を計算で求めたいときに使用するのがDateAdd関数です。
日付データは数値データのように計算ができないので、少し操作にコツがあります。
今回は、DateAdd関数で日付を操作する方法をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSをもっと使いこなしたい方向けにACCESSの関数をご紹介していきます。
構文
DateAdd関数は日付型データで加算や減算をするための関数です。
以下の構文で利用します。
DateAdd ( 時間単位 , 加算する数値 , 元の日付 )
1つ目の引数である時間単位を設定することで、1年後や1か月後などの計算が可能です。
時間単位に設定可能な引数は以下の通りです。
引数 | 説明 |
yyyy | 年 |
q | 四半期 |
m | 月 |
y | 通年での日数 |
d | 日 |
w | 平日 |
ww | 週 |
h | 時 |
n | 分 |
s | 秒 |
使っていて注意が必要なのは、年と週ですね。
感覚的に、年が「y」だと思ってしまいますが、正しくは「yyyyy」、同じく週は「w」ではなく「ww」ですので間違えないように注意しましょう。
使用例
では、実際の使用例を見てみましょう。
なお、本日日付は2022年2月10日です。
実行内容 | コード | 結果 |
本日の1年後の日付を表示 | DateAdd(“yyyy”, 1, Date) | 2023/02/10 |
本日の1か月後の日付を表示 | DateAdd(“m”, 1, Date) | 2022/03/10 |
本日の1週間後の日付を表示 | DateAdd(“ww”, 1, Date) | 2022/02/17 |
本日の1日後の日付を表示 | DateAdd(“d”, 1, Date) | 2022/02/11 |
本日の1日前の日付を表示 | DateAdd(“d”, -1, Date) | 2022/02/09 |
2つ目の引数に正の数を設定すれば〇〇後、負の数を設定すれば〇〇前を求めることができます。
VBAでのサンプルコード
では、VBAのプロシージャでDateAdd関数を使用する例を提示します。
本日の日付から1年後の日付を計算してメッセージボックスに表示するプロシージャです。
Public Sub hiduke()
Dim hiduke_keisan As Date
hiduke_keisan = DateAdd("yyyy", 1, Date)
MsgBox "日付:" & hiduke_keisan, vbOKOnly + vbInformation, "日付計算結果"
End Sub
hiduke_keisanという日付型変数を用意し、DateAdd関数で日付を計算したのちに、MsgBox関数で計算結果を表示しています。
実行すると以下のようにメッセージボックスが表示されます。
DateAdd関数の使用例
最後に、DateAdd関数の実際の使用例を紹介します。
ACCESSでは売上、請求管理のデータベースを作成することが多いので、前月末、翌月初、翌月末の日付を当日日付から求める処理はかなりよく使います。
それぞれ、記事を書いておりますのでご参照ください。
前月末を求める方法
翌月初を求める方法
翌月末を求める方法
以上、DateAdd関数で日付を操作する方法でした。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。