和暦の元年表記

f:id:accs2014:20190507115253p:plain:right:w200

 日付を和暦で表示する際に「○○1年」を「○○元年」と表示する方法についてです。元号は日付で判断するものとします(例:2019/4/30→平成31年4月30日、2019/5/1→令和元年5月1日)。

 書式での実現は困難ですので関数を使って文字列を生成します。
 サンプルとなるのはこのようなテーブルです。大正以降の各元号の元年(1年)に当たる日付をいくつか含んでいます。

f:id:accs2014:20190507115251p:plain:right:w650

 このテーブルに基づくクエリを作成し、次のような列を設けます。

元年表記: Format([日付],IIf(Format([日付],"e")=1,"ggg元","ggge") & "年m月d日")

 
f:id:accs2014:20190507115248p:plain:right:w300

 データシートビューです。
 年・月・日の数字を強制的に2桁表示(「09年」など)する場合は式内の「ggge」「m月」「d日」の文字をそれぞれ「gggee」「mm月」「dd日」に置き換えてください。

 なお明治元年については、1868/10/22以前の日付については「1868年~」という文字列を返し、1868/10/23~1868/12/31の日付については「明治元年~」という文字列を返します。
 Accessの仕様に基づく結果ですがご注意ください。