はじめに
C#でアプリ開発を行っていたエンジニアが、半年にわたるAccess案件で学んだことをまとめています。
今回はAccessVBAでの日付操作についてまとめます。
加算/減算と差分
⋙加算/減算
(例) DateAdd("d", 2, 2024/01/01)
→取得結果:
2024/01/03
第一引数:時間単位
時間単位 指定方法 年 yyyy 月 m 日 d 時 h 分 n 秒 s 第二引数:加算/減算時間(減算の場合はマイナス値を指定)
第三引数:基準となる日時第三引数に指定した日時に、第二引数で指定した値の、第一引数の単位分を加算するという仕組みになっています。
⋙差分
(例) DateDiff("d", 2024/01/02, 2024/01/01)
→取得結果:
-1
第一引数:時間単位
時間単位 指定方法 年 yyyy 月 m 日 d 時 h 分 n 秒 s 第二引数:開始日時
第三引数:終了日時第三引数-第二引数の差分を、第一引数の単位で算出するという仕組みになっています。
SQL実行時の日付指定
データ型が日付のデータを条件に用いる場合は以下のように#で囲みます
テーブル名.カラム名 = #2024/01/01#
文字列型のまま条件に指定してしまうと、正しく比較ができないので注意しましょう
日付ソート時の注意
文字列型で日付を登録している場合に昇順で取得すると、たとえば2024/09/01より2024/10/01の方が若い判定になってしまいます
日付としてソートしたい場合は以下のように日付型に変換する必要がありますCDate(XXXXX)
さいごに
いかがでしたか?
少しでも役に立つ知識があれば幸いです。
他に気づくことがあれば追記していきます。