Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5227 / 9994 ←次へ | 前へ→

【7994】Re:住所の変換について
回答  小僧  - 06/6/16(金) 10:13 -

引用なし
パスワード
   ▼秋山 さん:
おはようございます。

>過去の住所データを一括して変換したいのです。
>
>テーブルA
> 住所
>---------------------------
> A市B町C 123-45
> D市E町F 789-123
> A市B町G 777-44
> ・・・・

OS や Access のバージョンによって使える命令などに差がでてきますので、
質問をされる際には必ず明記して下さいね^^
下記コードはAccess2000以降が対象です。
標準モジュールに記述し、実行されてみて下さい。

Sub 住所変換()
'要参照 Microsoft DAO x.x Object Library
Dim RS1 As DAO.Recordset
Dim RS2 As DAO.Recordset
Dim strSQL As String

  Set RS1 = CurrentDb.OpenRecordset("テーブルB", dbOpenSnapshot)
  Do Until RS1.EOF
    strSQL = "SELECT * FROM テーブルA WHERE 住所 LIKE '" & RS1![旧住所] & "*'"
    Set RS2 = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
      Do Until RS2.EOF
        RS2.Edit
        RS2![住所] = Replace(RS2![住所], RS1![旧住所], RS1![新住所])
        RS2.Update
        RS2.MoveNext
      Loop
    RS1.MoveNext
  Loop
  RS2.Close: Set RS2 = Nothing
  RS1.Close: Set RS1 = Nothing
  
  MsgBox "置換終了"
End Sub

※ レコード数によっては結構時間が掛かってしまうかもしれません…
235 hits

【7992】住所の変換について 秋山 06/6/15(木) 20:11 質問
【7994】Re:住所の変換について 小僧 06/6/16(金) 10:13 回答

5227 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free