|
▼秋山 さん:
おはようございます。
>過去の住所データを一括して変換したいのです。
>
>テーブル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
※ レコード数によっては結構時間が掛かってしまうかもしれません…
|
|