用数据宏改变大块记录

时间:2018-04-20 02:55:43

标签: ms-access

我的Access数据库中有数百条记录错误地输入到表中。

特定的ID号码包括一个两位数的前导码,用于指定记录来自的状态; 01-24586是ACT的记录,02-55719是新南威尔士州的记录。错误的条目切换了这两个。我需要替换这些记录的前两位数字'具有正确代码的ID。

为此,我尝试编写一个可以从常规宏对象调用的命名数据宏(因此我可以在导航窗格中双击它)。我已经做到了,但它似乎没有用。我的数据宏(只是其中一个状态修复)看起来像这样:

If [State]="NSW" Then
    For Each Record In    tblCustomer
          Where Condition   =[State]="NSW"
          Alias             NSWCust
        EditRecord
              Alias         NSWCust
            SetField
                  Name    MyobID
                  Value   = "02-" & Right([MyobID],5)
        End EditRecord
End If

当我从另一个宏调用它时,使用RunDataMacro它会给我错误3709.

这是解决这个问题的不好方法吗?我的执行有什么问题?

1 个答案:

答案 0 :(得分:0)

数据宏旨在用作"触发器" (在特定事件发生时执行操作。 要更新数据,您应该使用更新查询。 声明如下:

UPDATE tblCustomer
SET MyobID = "02-" & Right([MyobID],5)
WHERE [State] = "NSW"