2019年5月1日に元号が平成から令和に変わってから、もう少しで1ヶ月が経ちます。(記事作成時点)
私が持っているPC(Windows 7)でも新元号パッチが当たったようで、デスクトップ右下の日付を和暦で表示すると令和に対応した日付で表示されるようになりました。
そういえば仕事で使っているExcelやAccessって、日付を和暦表示すると令和対応されているのかな?
普段は西暦日付を使っているので特に意識していませんでしたが、ふと疑問に思いました。
そこで今回は、Accessでの和暦表示について調べた結果をまとめました。
色々と調べてみたところ、AccessのバージョンとWindowsのバージョンの組み合わせによって、正しく表示されたり表示されなかったりという現象が発生する事がわかってきました。
AccessとWindowsのバージョンの組み合わせって何?
AccessとWindowsのバージョンの組み合わせとは何かというと、
- Accessは保守サポートされているバージョンか?
- Windowsは保守サポートされているバージョンか?
の組み合わせを指しています。
つまり、組み合わせとしては次の4パターンが考えられます。
ご自身がお使いのパソコンが上記A、B、C、Dのどれに該当するかによって、Accessで和暦表示がうまく行われるのかが変わってきます。
Access(Microsoft Office)のバージョンについて
Accessはマイクロソフトオフィスの中の製品の1つですが、Officeは大きく次のような販売形態に分かれています。
売り切り型:Office 2019/2016/2013/2010/2007/2003/2000・・・・
サブスクリプション型:Office 365
ここで問題になるのは、売り切り型を使っている場合です。数年に一度新しいOffice XXXXが出てくるのと合わせて、古いバージョンはサポート対象外となっていきます。
サポート対象外となったバージョンも使い続けるという事も可能ですが、更新パッチが当たらないためセキュリティなどリスクがあります。サポート対象外となったバージョンはネットに繋がない環境で使うなどの制限をかけるか、サポートされているバージョンに切り替えるかの対応が必要です。
2019年5月時点のオフィスのサポート状況は次の通りです。
サポート終了: Office 2007 以前(2007/2003/2000/98/95・・・)
サポート中:Office 2010 以降(2010/2013/2016/2019)、Office 365
Office2010は2020年10月13日が延長サポート期限となっていますので、早めの切替が必要です。
Windowsのバージョンについて
WindowsのOSについての2019年5月時点のサポート状況は次の通りです。
サポート終了: Windows Vista 以前(Vista/XP/ME/98/95・・・)
サポート中:Office 7 以降(7/8/8.1/10)
Windows 7は2020年1月14日が延長サポート期限となっていますので、早めの切替が必要です。
AccessとWindowsのバージョンの組み合わせ表(2019年5月時点)
AccessとWindowsのバージョンの組み合わせ表にバージョン情報を併記すると次の通りとなります。
どれに自分の立ち居地が該当するか分かりやすくなったかと思います。
次からは、それぞれのパターンにおける和暦表示の違いをまとめました。
Access・Windows共にサポート中のバージョンを利用している場合(パターンA)
このパターンでは、Access/Windows共にサポート中のバージョンを利用してるため、両方の元号パッチが適用されます。
そのため、Accessでの日付の和暦表示に関し、特に問題は発生しません。
2019年5月以降の日付は正常に「令和」として表示されます。
Accessはサポート中・Windowsはサポート外のバージョンを利用している場合(パターンB)
このパターンは組み合わせとしてはありえますが、かなりのレアパターンかと思います。
Windowsがサポート外のバージョンであるため、Format関数を使った和暦日付への変換がうまく行かないことが想定されます。
例えば、
「=Format([テーブルの日付項目], "gggee/mm/ee") 」
という計算式を設定しているような場合、日付が「2019/05/01」だと「平成31/05/01」と表示されます。
「令和01/05/01」とは表示されないので、Access内で使用しているレポートでFormat関数を使用して和暦表示をさせたいような場合、存在しない平成として年が表示されてしまいます。
Accessはサポート外・Windowsはサポート中のバージョンを利用している場合(パターンC)
このパターンに当てはまる方はまあまあいると想定されます。
- 古いバージョンで作られたAccessをずっと使い続けているような場合
- PCを新調した際にAccessを新調せず、これまで使っていたAccessをインストールしたような場合
このパターンでは、フォームの日付項目の書式を「gggee」形式などの和暦で表示させるような設定をしている場合、次のような現象が発生します。
レポート(帳票)は新元号の令和で表示されているが、テキストボックスの日付は平成で表示される
一部は令和表記で問題ないのに、一部は平成表記になっていて問題あり、といった具合です。
この現象が発生すると「なんで???」と頭が混乱するでしょう。
どこに原因があるのか、訳が分からなくなりそうですが、レポートはOKでテキストボックスがNGというところに鍵があります。
Windowsがサポートされているバージョンであれば、Format関数で令和変換できる
まずレポートについてですが、日付が令和できちんと表示されているような場合、その日付はおそらくFormat関数を使用して表示していると思われます。
Format関数の内部ではWindowsの情報を元に和暦への変換が行われている(と思われる)ので、Windowsがサポートされているバージョンであれば令和パッチが既に当たっているため、正常に和暦変換が行われているのだと想定されます。
※もちろんWindows UpdateをしてPCを最新の状態にしている事が前提です。
レポートでも平成表示のままの場合、その項目はFormatを使われていないと思われるので、一度確認するとよいでしょう。
テキストボックスの書式はAccessの情報で変換されるため和暦変換できない
次にテキストボックスの日付の書式にgggeeなどを設定して和暦変換して表示しているようなケースです。
この場合はAccessの情報を元に和暦への変換が行われている(と思われる)ので、Accessがサポートされていないバージョン=令和パッチが当たっていない状態にあたり、2019年5月以降の日付でも平成のままで表示されていると想定されます。
このような場合、テキストボックスの日付の入力は特に問題が無く表示だけの問題であるため、テキストボックスの書式を西暦(yyyy/mm/dd等)に変換してあげれば解決できます。
どうしても和暦で見たいという場合、テキストボックスの値をFormat関数を利用して和暦変換して表示させるような方法があります。
Access・Windows共にサポート外のバージョンを利用している場合(パターンD)
これは、パターンB・パターンCが数年経過した後でも使い続けているような環境が該当します。
いづれもサポート外のバージョンを利用しているため、Format関数を利用しても令和へは変換できません。
Accessで変換テーブルを作って表示させるのもひとつの手ですが、全て最新化することをオススメします。「まだ動くから大丈夫」はかなり危険です。急にPCが起動しなくなったりする可能性がありますので、早目の対応を練りましょう。
まとめ
AccessとWindowsの組み合わせによる日付の和暦表示の違いについてご紹介しました。
サポートされていないバージョンの製品を使う事で和暦変換がうまく行かない現象が発生しますが、一番手っ取り早い解決方法は、サポートされているバージョンを使う事ですね。Accessの場合はランタイムと呼ばれるソフトもありますので、必要に応じてランタイムと使い分けるのも良いかと思います。
また、この記事に書いたようなちょっとした困ったことでも、自分に経験や知識が足りないために対応できなかったり、時間をかけたわりに全然進まなかったりと、思うようにいかない事ってありますよね。そんなときは専門家に相談したり解決してもらったりする方法もありますので、一人で悩まず対処してみましょう。