Access宏中的IF语句

时间:2015-11-02 12:11:29

标签: if-statement conditional ms-access-2013

如果父数据表中的ID键大于子表中的ID键(名为Hoover Data和{{},我尝试在访问中使用宏实用程序来运行追加查询1}}分别。

My Macro包含以下对象:

Hoover Match

我的查询SetWarnings, No If Max([Hoover Data]![ID])>Max([Hoovers Match]![ID]) OpenQuery, 'Hoovers Match Update' CloseWindow, 'Hoovers Match Update' SetWarnings, Yes 在我添加if语句之前运行正常,我的宏也是如此 - 也就是说尽管上面的宏配置的简写是正确的。

当我使用if语句运行宏时,我收到以下错误:    访问权限无法找到您在表达式

中输入的名称Hoovers Match Update

我在Win 7(64位)计算机上运行Access 2013(32位)

1 个答案:

答案 0 :(得分:2)

要引用外部表/查询中的聚合,请使用Domain Aggregate Family。特别为你DMax()

SetWarnings, No
   If DMax("ID", "[Hoover Data]") > DMax("ID","[Hoovers Match]") Then
      OpenQuery
        Query Name 'Hoovers Match Update'
   End If          
SetWarnings, Yes

此外,无需关闭操作查询(追加/删除/更新)