4/26/2025

Access。クエリ。8桁の数値の日付を、年月日それぞれのフィールドに分けたい【date】

Access。クエリ。8桁の数値の日付を、年月日それぞれのフィールドに分けたい

<Access:Mid関数>

データを読み込んだところ、日付が8桁の数値で構成されていました。

8桁の数値の日付

データは短いテキスト型です。


この8桁の数値では、年月日を管理しにくいので、年・月・日。


それぞれ分割したフィールドで管理したいのですが、どのようにしたら、年月日に分割することができるのでしょうか。


考え方として、左から4文字が年。

中央の2文字が月。

右から2文字が日です。


Accessにも、ExcelのようにLeft関数・Mid関数・Right関数が用意されています。


それぞれの関数をつかった、演算フィールドでもいいのですが、テーブルのフィールド名を何度も入力するのは面倒です。


コピーしてもいいのですが、関数を変更するのも、やはり、面倒です。


そこで、年・月・日をすべてMid関数だけで対応することができますので、今回は、Mid関数のみで、対応していきます。


クエリを作ります。


ホームタブのクエリデザインで、テーブルのすべてのフィールドをつかいます。


まずは、実行して確認しておきましょう。


このように、年・月・日という演算フィールドで8桁の日付を分割することができました。


では、演算フィールドを確認します。


年: Mid([8桁日付],1,4)

Mid関数は、文字列の指定した場所から、指定した文字数を抽出する関数です。


Excelと同じです。


年は、最初の1文字目から4文字までが年です。


これと同じように、月と日の演算フィールドをつくります。


年の演算フィールドをコピーして、貼り付けたら、フィールド名と指定した場所の数値と、抽出したい文字数である2に変更すればいいだけです。


3種類の関数を使って抽出してもいいのですが、Mid関数だけでも対応することが可能です。