我的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.
这是解决这个问题的不好方法吗?我的执行有什么问题?
答案 0 :(得分:0)
数据宏旨在用作"触发器" (在特定事件发生时执行操作。 要更新数据,您应该使用更新查询。 声明如下:
UPDATE tblCustomer
SET MyobID = "02-" & Right([MyobID],5)
WHERE [State] = "NSW"