- ベストアンサー
ACCESS 数値型の西暦を和暦へ
フォームに「入社年度」を西暦の数字4桁で「1985」のように入力すると、 その横に設置したテキストボックスに「昭和60」のように変換して 表示するようにしたいです。(和暦で何年かを入力しながら確認するため) 見よう見まねでFormat関数を使ってみたのですが、うまく動作しません。 どうすれば実現できるでしょうか。 WinsowsXP/Access2007(ファイルは2002-2003形式)/Access使用歴 3日
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
フォーム(そしてその元になるテーブルに文字列のデータ型で)例えば「生年文字」(質問では入社年)というフィールドを作ります。 例 各レコードについて 生年文字: 1954 1991 1994 1998 1988 のようにフォーム上で入力します。 隣に「年号暦」という名のフォーム上のフィールドを作りました。 プロパティの コントロールソースに =DateSerial([生年文字],1,1) と入れます。 1954 と入れると S29 のように年号暦に表示されました。 ーー 以上で質問の意を満たしてるでしょうか。
その他の回答 (1)
- mayoiga
- ベストアンサー率41% (16/39)
Format$("2008/02/21", "GGGEE年MM月DD日") 参考になるサイトを記載しておきます。 画面左側にある「カテゴリ別一覧」から「日付・時刻・関係」をクリックします。 右側に展開される画面から「日付データーを変換する」をクリックしてください。 和暦・西暦変換についての説明がされています。 ・・・私も随分とお世話になりました(^^;
お礼
回答ありがとうございます。 件の[入社年度]には、数値型で数字4桁(西暦)が入力されます。 =Format$([入社年度],"gggee\年mm\月dd\日") のように書くと、明治38年のいずれかの日付が表示されてしまいます。 数字4桁が西暦として認識されるように、計算式か関数で解決できないでしょうか?
お礼
ありがとうございます。質問の仕方が下手で申し訳ないです。その通りの状況です。 お教えいただいたように、和暦を表示したいフィールドのコントロールソースを =DateSerial([入社年度],1,1) として、書式を「gggee」とすることで実現できました。