• 締切済み

Access2010 クエリー

お世話になっております。 Access2010を使用しています。 テーブルで、4桁の西暦を”文字列”として持っているフィールドがあります。 それを、”元号(和暦)”に変換する方法を教えてください。 例として 西暦:1965 を S40  西暦:1998 を H10 のように変換したいのです。 よろしくお願いいたします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

都合のよい例(月日を隠して)だけ頭に置いて、質問しているが、年号は西暦途中の日で変わることが多い。近時の今回もそうなりそう。 それを認識せずに、出来そうだ、というのは認識不足。米国でまず作られるソフトに対し、日本的な問題だし。エクセルは月日も含めた日付シリアル値では、変換は明治以後の変換や表示形式の変更は正確になされると思うが、アクセスにはそういう関数群はないのでは。ただし 「アクセス 年号変換」でGoogle照会すれば出てくるように、 表示形式(書式)は和暦に変換できる。年号+年数字だけとかの表示もできる。 しかし日付が(月日ふくめて)データがないとできない。 自己プロで変換しようなどと思うのは、もってのほか。日本マイクロソフトに任せておけ。 http://www.accessclub.jp/actips/tips_02.htm 日付を和暦で表したい:AccessTips002 http://accessclub.jp/bbs/0207/beginers64046.html 西暦をレポートで年号表示したい アクセスまで使おうという人が、こういう照会さえしないのは、不思議。 VBAがやれるなら、「アクセス vba format関数」で照会して、勉強したらどうです。文字列の表現になるから、フォーマット文字を工夫すれば、自由に日付表現の文字列の1部を取り出したり(表現したり)できるだろう。

mutans54031
質問者

お礼

imogasi さん 返信とリンクをありがとうございました。 契約年というフィールド名で、月日のデータは持っていないのです。 文字列を数値に変換して、計算式を使ってみます。