- ベストアンサー
Access 西暦を和暦へ一括変換できますか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
西暦への変換の更新クエリです。 UPDATE テーブル名 SET フィールド1 = Format(CDate([フィールド1] & "1月1日"),"yyyy\年"); 和暦の場合は、"yyyy\年" を "ggge\年" に。
その他の回答 (4)
- mshr1962
- ベストアンサー率39% (7418/18948)
モジュールにユーザー定義関数を作成する。 モジュールの新規作成ででてくる画面で Function WANEN(XNEN) '和暦年変換 If XNEN Is Null And Right(XNEN,1) <> "年" Then Exit Function WANEN = Format(Datevalue(XNEN & "12月31日"),"gggee年") End Function Function CENEN(XNEN) '西暦年変換 If XNEN Is Null And Right(XNEN,1) <> "年" Then Exit Function CENEN = Format(Datevalue(XNEN & "12月31日"),"yyyy年") End Function と入力 更新クエリでWANEN([フィールド1])で和暦に、CENEN([フィールド1]で西暦に変換できます。
- GreatDragon
- ベストアンサー率46% (186/402)
ANo.1 の GreatDragon です。 今回のケースでは更新クエリでは難しい(私のスキル不足な)ので、VBA のコードを作成してみました。 宜しかったら(DBのバックアップ後)お試しください。 '■■西暦年→和暦年■■ Public Sub SeirekiWareki() Dim Cn As ADODB.Connection Dim Rs As ADODB.Recordset Dim Nen As Integer Set Cn = CurrentProject.Connection Set Rs = New ADODB.Recordset Rs.Open "テーブル1", Cn, adOpenKeyset, adLockOptimistic Do Until Rs.EOF If IsNumeric(Left(Rs![フィールド1], 4)) Then Nen = CInt(Left(Rs![フィールド1], 4)) If Nen > 1988 Then Rs![フィールド1] = "平成" & (Nen - 1988) & "年" ElseIf Nen > 1925 Then Rs![フィールド1] = "昭和" & (Nen - 1925) & "年" ElseIf Nen > 1911 Then Rs![フィールド1] = "大正" & (Nen - 1911) & "年" Else '何もしません。 End If Rs.Update End If Rs.MoveNext Loop Rs.Close: Set Rs = Nothing Cn.Close: Set Cn = Nothing End Sub '■■和暦年→西暦年■■ Public Sub WarekiSeireki() Dim Cn As ADODB.Connection Dim Rs As ADODB.Recordset Dim Nen As Integer Set Cn = CurrentProject.Connection Set Rs = New ADODB.Recordset Rs.Open "テーブル1", Cn, adOpenKeyset, adLockOptimistic Do Until Rs.EOF If Not IsNumeric(Left(Rs![フィールド1], 2)) Then If Left(Rs![フィールド1], 2) = "平成" Then Nen = Val(Replace(Replace(Rs![フィールド1], "平成", ""), "年", "")) Rs![フィールド1] = (Nen + 1988) & "年" ElseIf Left(Rs![フィールド1], 2) = "昭和" Then Nen = Val(Replace(Replace(Rs![フィールド1], "昭和", ""), "年", "")) Rs![フィールド1] = (Nen + 1925) & "年" ElseIf Left(Rs![フィールド1], 2) = "大正" Then Nen = Val(Replace(Replace(Rs![フィールド1], "大正", ""), "年", "")) Rs![フィールド1] = (Nen + 1911) & "年" Else '何もしません。 End If Rs.Update End If Rs.MoveNext Loop Rs.Close: Set Rs = Nothing Cn.Close: Set Cn = Nothing End Sub
- chirara_catrea
- ベストアンサー率14% (33/232)
ご参考まで・・・
- GreatDragon
- ベストアンサー率46% (186/402)
「日付/時刻型」フィールドに格納されたデータでしたら「書式」プロパティで西暦または和暦で表示することが出来ますが、 ご質問のご様子ですとテキスト型(または数値型)にデータが保存されているようですね。 現在のデータ型および実際のデータサンプルを数件示していただければ的確な回答が付くはずです。
お礼
ご回答ありがとうございます。 データは下記の通り、昭和及び平成、西暦が混在しています↓ データ型はテキスト型です。 フィールド1 --------------- 平成13年 1998年 平成5年 平成17年 1977年 昭和60年
関連するQ&A
- 和暦を西暦に、西暦を和暦に変換する計算式
和暦(日本の年号)を西暦に変換する計算式と、逆に西暦を和暦に変換する計算式を教えてください。例えば昭和52年を西暦に変換すると何年、のようなことです。またこの計算式を忘れないために覚えるコツなどもあれば教えてください。また、この計算式を分かりやすく解説したサイトもあれば教えてください。
- ベストアンサー
- その他(学問・教育)
- excelで和暦を西暦にしたいのですが、良い方法を教えてください。
アンケート結果データで生年の項目が以下のように設定されています。 A列で区分(1=明治、2=大正、3=昭和、4=平成、5=西暦) B列で年(40、8、6、1960などのように混在して入力されています。数値の範囲は和暦では1~64、西暦では1893~1992です。) 上記のB列を新しい列を作って西暦に統一したいのですが、どうしたら良いでしょうか。過去の例を見てみましたが、微妙にやりたいことが違っていて応用能力もありません。よろしくお願いします。
- 締切済み
- その他(業務ソフトウェア)
- 和暦を廃止して、西暦に統一して
銀行や役所に行くと、いまだに和暦を使用しています。 普段、技術文章を書いている身としては西暦しか意識しておらず、和暦が不便でなりません。 グローバル社会になったのだから全世界共通の西暦に統一するべきだと思います。 たとえば昭和64年1月に生まれた子供はどんな和暦を使っているのでしょう? 昭和64年? 平成1年? アバウトすぎます。 皆さんは和暦の存在をどう思いますか?
- 締切済み
- その他(生活・暮らし)
- 一つの書類で和暦・西暦の混在はおかしい?
書類のある箇所では「平成○○年」と書き、他の箇所では「20○○年」と書く。 このように和暦と西暦を混在させる書類の書き方って、国語としては正しいのでしょうか?
- 締切済み
- 日本語・現代文・国語
- 西暦から和暦変換したいのですが
エクセルの2000を使用しています。西暦を和暦にするには、以前の質問をみても、表示形式をggggeeとするとあったので、そのようにしてみましたが、1と入力してシリアル値が 1904/1/2と表示されるシステムなので1で明治37 2003で明治42と表示されます。私のパソコンのように、シリアル値が、1と打って1904/1/2と表示される場合は、どのように 表示形式を設定すれば、西暦が和暦に変換できるのでしょうか?教えてください。よろしくお願いします。
- ベストアンサー
- Windows NT・2000
- ACCESS 西暦から和暦へ
西暦でテーブルに入力したんですが、和暦にするにはどうしたらいいでしょうか? 変換と言うか…一気に変更できるやり方があったら教えてください。
- ベストアンサー
- オフィス系ソフト
- ACCESSで和暦を西暦に・・・
まいどお世話になってます。 ACCESSのテーブルにあるデータの和暦を西暦に変換できますか? お分かりの方がいらっしゃいましたら、よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 生年月日を訊かれたら和暦・西暦 どっちで答える?
生年月日を訊かれたら和暦・西暦 どっちで答える? この前ある会社へ行ったところ、面白いカレンダーを見かけました。 西暦2014年 平成26年 昭和89年 大正103年 と書いてあったのです。 私は昭和生まれなのですが和暦で回答すると、年齢がすぐに割り出せないですよね。
- 締切済み
- アンケート
お礼
ご回答ありがとうございます。 えぇっと・・・、作業量を軽減したくて質問しました。 更新クエリで一括変換できればと思ったのですが。