AccessVBAで2つの日時の中間値を求めるロジック

今回は、ある日時Aある日時Bのちょうど中間値にあたる日時CをAccessVBAで求める方法をご紹介します。

例えば「2017/11/04 6:30:10」「2017/11/04 6:40:50」の中間値を求めてみると「2017/11/04 6:35:20」になります。これをVBAで簡単に求めてみます。

DateAddとDateDiffを使用

中間日時を求めるためには、DateAdd関数とDateDiff関数を使います。

Dim dateMiddleDateTime As Date	' 求める中間日時
Dim dateStartDateTime As Date	' 日時A
Dim dateEndDateTime Ad Date	' 日時B

dateMiddleDateTime = DateAdd("s", (DateDiff("s", dateStartDateTime, dateEndDateTime) / 2), dateStartDateTime)

例えば、dateStartDateTime(日時A)に「2017/11/04 6:30:10」、dateEndDateTime(日時B)に「2017/11/04 6:40:50」を代入すると、dateMiddleDateTime(求める中間日時)に「2017/11/04 6:35:20」が代入されます。

まとめ

VBAに用意されている標準関数で、2つの日時の中間値を求める関数はありませんが、DateAdd関数とDateDiff関数を使えば、簡単に中間日時を求めることができます。

ぜひ使ってみてくださいね。

その他のAccess関連記事

Accessクエリの抽出条件に今年度を指定する方法

シェアする

  • このエントリーをはてなブックマークに追加

フォローする