ACCESS DateValue関数で日付型データを作る方法

DateValue関数で日付型データを作る方法

ACCESSではデータ型を意識して変数や値を扱う必要があります。
単純に2024/7/21と書いてあっても、これが日付型データなのか、テキスト型データなのかによって処理結果が変わってしますのです。

その中でも特に扱いに注意が必要な日付型データです。

今回は、DateValue関数で日付型データを作る方法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSをもっと使いこなしたい方向けにACCESSの関数をご紹介していきます。

目次

DateValue関数

DateValue関数は文字列を日付に変換する関数です。
以下の構文で利用します。

単純に引数に値を指定するだけですので簡単ですね。
通常はこの値の部分に、日付に見えるテキストデータを入れることになります。

DataValue関数の使用例

それでは、DataValue関数のクエリでの使用例をご紹介します。
今回は以下のクエリを作成しました。

「日付テキスト」に文字列を入力すると、DataValue関数で日付型に変換された値が「日付変換」に表示されます。
以下がクエリの結果です。入力値毎にどのように変換されるか見てみましょう。

それぞれの結果を以下で解説します。

入力値出力値備考
2025/1/12025/01/01「/」で区切って表記したテキストを日付型データが変換される
2025/01/012025/01/010を入れても正しい日付の範囲であれば日付型データに変換される
2025/13/01#エラー存在しない月の値が入っているとエラー
2025/1/32#エラー存在しない日の値が入っているとエラー
1/12025/01/01月日だけを指定すると自動的に年は今年になる
250101#エラー「/」で区切っていないとエラー
25/1/12025/01/01年の20を省略しても補完して変換される
13/122025/12/13月の数値が存在しないものでも、英語表記(月日が逆)にした場合に存在する日付であれば逆転して変換される

特に最後のパターンはかなりイレギュラーですね。
想定外の日付に変換されてしまわないように、入力値の段階でチェックを行ってイレギュラーな値が入らないようにしておくのが良いでしょう。

DateValue関数を使ったVBAプロシージャ

最後に、DateValue関数を使って日付を指定するとその同月の20日の日付を返すというプロシージャをご紹介します。

twenty_dayという変数にDateValue関数を使って作成した日付データを格納しています。
もともと与えられた日付(x)に対して、Year関数とMonth関数を使って年、月を別々に取り出し、& と “/” でつないで日付型データの表示方式に合わせたうえで、最後に”/20″とすることで指定月の20日の日付データを作っています。

このようにDataValue関数は日付型データ以外から計算によって作った日付のように見えるデータを、正しく日付型データに変換する際に利用できます。

以上、DateValue関数で日付型データを作る方法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に300以上のACCESSデータベースの開発・修正実績のあるはこにわガジェット(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

フッターバナー

最後までお読みいただき、ありがとうございました。

DateValue関数で日付型データを作る方法

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次