3/02/2020

Accessのクエリで、日付を年月日表示に変更したいけど、Excelの表示形式と違うみたい!?【Display format】

Accessのクエリで、日付を年月日表示に変更したいけど、Excelの表示形式と違うみたい!?

<Access:日付の表示形式>

日付を入力すると、ExcelでもAccessでも、2020/2/2のような表示形式で表示してきますが、年月日で表示したい場合、Excelだと、表示形式のユーザー定義をつかって、yyyy”年”m”月”d”日”とすれば、2020年2月2日と表示することができますよね。

では、Accessのクエリだとどのようにしたらいいのでしょうか?

今回は、次のテーブルを用意して、日付フィールドを年月日で表示するクエリをつくっていきます。

Accessで表示形式を変更する時には、Format関数を使います。

まずは、Excelの表示形式のユーザー定義と同じにしたらどうなるのかを確認してみましょう。

設定はしてみましたが、残念ながら『指定した式の構文が正しくありません。』とエラーが表示されてしまいました。

要するにExcelと同じユーザー定義をつかって年月日の表示形式に変更することはできませんでした。

Excelの場合、年月日のような文字を表示させるために「”(ダブルコーテーション)」で該当する文字を囲んでいましたが、Accessは「¥(円マーク)」をつかって表示を変更していきます。

では、次のように年月日の演算フィールドを変更してみましょう。
年月日: Format([日付],"yyyy\年m\月d\日")

実行すると、今度は、年月日ときちんと表示されたことが確認できました。

Accessの場合は、表示したい文字の前に「¥(円マーク)」をつけることで、表示することが可能になります。

なので、金額などで、「~円」と表示したい場合にも、「¥円」とすればいいわけですね。

ここがExcelとAccessとの違いなんですね。ちなみに、¥(円マーク)をエスケープ記号といっております。

この方法が、わかりやすい方法ではあるのですが、Accessならではの方法もありますので、そちらも合わせて紹介しておきます。

演算フィールドを
短い日付: Format([日付],"ddddd")
と「d」を5個入力して確定すると、

短い日付: Format([日付],"日付 (S)")
と演算フィールドの表示が変わります。

また演算フィールドを
長い日付: Format([日付],"dddddd")
と今度は、「d」を6個入力して確定すると、

長い日付: Format([日付],"日付 (L)")
と演算フィールドの表示が変わります。

実行して確認しましょう。

短い日付ならば「d」を5個。
年月日の長い日付で表示するならば「d」を6個入力することで、簡単に年月日や「/(スラッシュ)」で表示することができるのです。

このように、Accessも、Excel同様に表示形式というのがあって、微妙に設定が異なっていますので、使用する時には少し注意する必要があるかもしれませんね。