
No.3ベストアンサー
- 回答日時:
西暦への変換の更新クエリです。
UPDATE テーブル名 SET フィールド1 = Format(CDate([フィールド1] & "1月1日"),"yyyy\年");
和暦の場合は、"yyyy\年" を "ggge\年" に。
No.5
- 回答日時:
モジュールにユーザー定義関数を作成する。
モジュールの新規作成ででてくる画面で
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]で西暦に変換できます。
No.4
- 回答日時:
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
No.2
- 回答日時:
この回答へのお礼
お礼日時:2005/12/18 21:52
ご回答ありがとうございます。
えぇっと・・・、作業量を軽減したくて質問しました。
更新クエリで一括変換できればと思ったのですが。
No.1
- 回答日時:
「日付/時刻型」フィールドに格納されたデータでしたら「書式」プロパティで西暦または和暦で表示することが出来ますが、
ご質問のご様子ですとテキスト型(または数値型)にデータが保存されているようですね。
現在のデータ型および実際のデータサンプルを数件示していただければ的確な回答が付くはずです。
この回答へのお礼
お礼日時:2005/12/18 21:55
ご回答ありがとうございます。
データは下記の通り、昭和及び平成、西暦が混在しています↓
データ型はテキスト型です。
フィールド1
---------------
平成13年
1998年
平成5年
平成17年
1977年
昭和60年
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスでのテキストデータ取...
-
ToV、サブイベント・犬マップの...
-
クエリで割り算する方法を教え...
-
エクセルにおける「フィールド...
-
差込印刷での全角表示について...
-
Word差し込み印刷のハイフン(...
-
ACCESSでの文字数カウント
-
「Access2007」でレポートが作...
-
Oracleのシングルクォーテーション
-
Acsess アクセス のクエリで...
-
CSVファイル読み込みでズレがお...
-
アクセスのクエリでパラメータ...
-
実行時エラー '3464': 抽出条件...
-
エクセルデータをワードで差し...
-
Access非連結テキスト ラベル...
-
奇数・偶数ページごとに差し込...
-
ACCESSでフィールドに-(ハイフ...
-
PCゲームから音声ファイルを抽...
-
日付型のフィールドに空白を入...
-
Excleピボットでデータのない部...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルにおける「フィールド...
-
Acsess アクセス のクエリで...
-
エクセルデータをワードで差し...
-
クエリで割り算する方法を教え...
-
ACCESSで条件によってフォーム...
-
ACCESSのデータに自動で半角ス...
-
Word差し込み印刷のハイフン(...
-
「Access2007」でレポートが作...
-
フィールドの更新がない
-
Accessのハイパーリンクをクリ...
-
カレントフィールドの、青い枠...
-
ACCESS 重複データを1...
-
varchar型の入力できる最大文字...
-
実行時エラー '3464': 抽出条件...
-
ACCESSで複数の写真ファイルを...
-
Access クエリの編集について
-
ワードファイルの文字数制限ロ...
-
ACCESSでフィールド名の変更(...
-
エクセルのピポットテーブルで...
おすすめ情報