7/10/2018

Access。Excelで日付をユーザー定義で表示を変えられるけど、Accessで出来るの?【Display format】

Access。Excelで日付をユーザー定義で表示を変えられるけど、Accessで出来るの?

<Access:表示形式>

Excelでは、日付を入力した後に、表示形式を変更することで、
年月日がある表示方法や元号表示に替えたりするわけですが、
Accessの場合はどうやったらいいのでしょうか?

Excelでは、セルの書式設定ダイアログボックスなんてものがありますが、
Accessにはありません。

そこで、今回はクエリで表示方法を変える方法をご紹介していきます。

テーブルは、次のようになっています。

では、まずは、クエリで、
この日付を、年月日がついている表示形式に替えていきます。

【表示を変えるには、Format関数】

Excelのようにそのまま変更することはできないので、
Format関数を使う必要があります。

【年月日】

年月日ということは、yyyy”年”m”月”d”日”という
Excelではお馴染みの形式に替えればいいのではという発想すると思います。

その考え方でいいのですが、少し異なります。

年月日: Format([日付],"yyyy\年m\月d\日")

年などの表示いしたい文字をExcelでは、
”年”(ダブルコーテーション)で文字を囲むようにしますが、
Accessでは、\(円マーク)1つを付ければOKなのです。

この\(円マーク)はエスケープ記号といって、
この記号の直後の文字をそのまま表示することがAccessではできます。

では、実行して確認してみましょう。

このように、年月日の表示に替えることが出来ました。
当然、Excelと同じように、mmとかddとか重ねれば、
0(ゼロ)がついた表示形式に替えることが出来ます。

年月日ゼロ付き: Format([日付],"yyyy\年mm\月dd\日")

【dが5個。dが6個。oが4個?】

単純に、年月日を付けた西暦表示にしたいのならば、
"yyyy\年m\月d\日"
なんて入力する必要は、Accessでは実はないのです。

このように入力すると、同じように表示することが出来ます。

長い日付: Format([日付],"dddddd")

dを6個連続で入力するだけです。

入力後、次のように表示が変わります。

長い日付: Format([日付],"日付 (L)")

同じように、dを5個連続で入力する場合も併せて紹介しておきましょう。

では、実行してみましょう。

このように、表示されましたね。

このあたりが、Excelには無いところですね。

同じようにAccessだけにある、
おもしろいなぁ~というのも紹介しておきましょう。

月だけ表示したい時は、
年月日年月: Format([日付],"m\月")
と想像するかと思います。これで間違っていません。

しかし、月を入力するのに、
忘れずに\(円マーク)と日本語入力に替えて月を入力する必要があります。

結構面倒なんですね。

そこで、次のように、o(オー)を4個でも月を表示することが出来ます。

年月日年月: Format([日付],"oooo")

ちなみに、曜日は、Excelと同じです。

曜日: Format([日付],"aaa\/aaaa\/ddd\/dddd")

では、実行して確認してみましょう。

このように、Excelと同じような表示形式のものもあれば、
少し異なるものもありますので、確認して使っていくといいですね。