MS Access - 根据另一个表中的值更新一个表的特定值(字段长度特定)

时间:2014-01-27 20:43:10

标签: ms-access

一个表的地址字段包含示例值:

123 Main Street Professional Center
456 Avenue Of Americas Financial Square
678 Great Northern Boulevard University Centre

这些值超过一定数量的字符(在这种情况下,字段长度为30)

我有另一张有价值观的桌子及其USPS批准的首字母缩略词:

Field1    Acronym
Street    St
Boulevard Blvd
Square    Sq

我希望能够根据第二个表格中Field1中的匹配值,使用第二个表格中的首字母缩略词更新我的第一个表格中的街道列。

可能?备选解决方案非常受欢迎。

1 个答案:

答案 0 :(得分:1)

一种可能的解决方案是对首字母缩略词表中的每条记录进行迭代。然后,替换匹配的值。

Public Sub UpdateTable()
Dim rs  As Recordset
Dim sql As String
    Set rs = CurrentDb.OpenRecordset("acronyms")
    Do Until rs.EOF
        sql = "UPDATE addresses SET address = Replace([address], '" & rs!Field1 & "', '" & rs!Acronym & "') WHERE address like '*" & rs!Field1 & "*'"
        CurrentDb.Execute sql
        rs.MoveNext
    Loop
    rs.Clone
End Sub

注意:根据ms-access版本,类似的表达式应该是*或%