ACCESS CDate関数で文字列を日付に変換する方法
ACCESSではデータ型が厳密に管理されています。
年月のように見えてもただのテキストのデータは、日付として扱うことができません。
そんな時に利用するのが、CDate関数です。
今回は、CDate関数で文字列を日付に変換する方法をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSをもっと使いこなしたい方向けにACCESSの関数をご紹介していきます。
CDate関数
CDate関数は、文字列を日付型データに変換する関数です。
以下の構文で利用します。
CDate ( 値 )
引数が1つだけでとても単純な関数ですね。
CDate関数の使用例
実際にCDate関数を使って、文字列を日付型に変換する例を提示します。
ご紹介のためにサンプルのフォームを作成しました。
デザインビューで見るとこのような形になっています。
入力欄にテキストで値を入力すると、CDate関数で変換した値を表示するフォームです。
実際に入力してみましょう。
一見すると変換されているのかが画面上からはわかりにくいですが、入力欄に入れたのは文字列型(VBAで記載すると””で囲った値)で、それをCDate関数で日付型(VBAで記載すると##で囲った値)に変換して表示しています。
入力が左寄せで表示されているのに対して、CDateが右寄せで表示されるのは、入力はテキストデータなので標準の表示方法が左寄せであり、CDateは日付型データになっているので標準の表示方法が右寄せであるためです。
ここからも下段が日付型になっていることが分かります。
年月日が分かれた値から日付データを生成する
それでは、より実践的な使用方法をご紹介します。
年、月、日をそれぞれ別のテキストボックスに入力し、それをもとに年月日の日付型データを作成する場合を例示します。
以下のフォームを準備しました。
年、月、日はそれぞれ独立した非連結のテキストボックスです。
CDateにはそれをもとに日付データを生成するよう、コントロールソースを以下のように設定しました。
=CDate([年] & “/” & [月] & “/” & [日])
フォームにあるテキストボックスを & でつないでいますが、その間に “/” を入れてあります。
これはCDateで日付型に変換する際に / がないと日付として認識してくれないためです。
また、前後の””は、 / をテキストデータとして扱うために付与しています。
フォームビューで見てみましょう。
このように、年月日に値を入力するとそれをもとに日付型データを生成してくれます。
日付はACCESSで扱うことが多いデータですので、必要に応じてCDate関数を使いこなせると便利でしょう。
以上、CDate関数で文字列を日付に変換する方法をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。