无法在Access 2010中编辑或重新保存现有的事件驱动的数据宏

时间:2013-12-18 15:01:38

标签: ms-access-2010 ms-access-2013 ms-access-data-macro

(这是对早期问题here的答案的后续跟进。)

我有一个Access 2010数据库文件,其中包含一个带有Before Change数据宏的表:

Data Macro

我可以在数据表视图中打开表并添加行,数据宏的行为与预期一致。但是,如果我在设计视图中打开表格,打开数据宏进行编辑,执行一些简单的操作,例如单击其中一个宏步骤旁边的[+]以展开详细信息,然后尝试保存“更改”我得到了错误

  

“LookUpRecord”宏操作的“查找记录输入”参数值无效。

我还尝试在新的Access 2010 .accdb中从头开始创建宏并获得相同的错误。我在三台不同的机器上测试了这个:两台运行64位Access 2010的机器和一台运行32位Access 2010的机器。所有机器都通过Microsoft Update完全修补。 (也就是说,它们目前正在运行版本14.0.7106.5003。)

测试时我注意到这似乎与事件驱动的数据宏有关,它试图使用LookUpRecord在数据宏应用的相同表上执行SELECT。在某些其他表上执行SELECT似乎不会触发错误。

我的问题是:

  1. 任何人都可以使用修补版本的Access 2010重新创建此问题吗?

  2. 任何人都可以使用未修补版本的Access 2010(例如,早期版本的全新安装)来测试这一点,以查看后续修补程序是否已破坏

  3. 有没有人看过任何文档或互联网聊天,建议特定表的事件驱动数据宏(或)能够通过对自己执行SELECT来执行LookUpRecord

  4. 编辑 - 2013-12-19 14:10 UTC:

    我刚刚使用Access 2010 SP1(14.0.6023.1000)对此进行了测试,结果相同。

1 个答案:

答案 0 :(得分:2)

我认为问题是表别名。如果在布局模式下打开表格(只需在设计模式下打开表格)。然后你得到这个:

enter image description here

您现在可以自由编辑宏(例如展开动作),然后保存宏。

我怀疑这是一个非故意的错误,因为如果在设计模式下打开表,则表被锁定,宏无法获取/检查验证查找命令中使用的SQL。

请注意,如果您只是在宏设计器中放置表名,那么您就没有问题,这就是99%的人在这种情况下所做的事情。

大多数人都不知道你可以在这里自由输入SQL类型!!!

保存后,设计器会尝试针对表验证SQL - 但表在设计模式下被锁定。所以在一个回合中,这是一个错误,但很少遇到它,因为很少在SQL中输入该查找记录命令。

我会注意到只需通过点击它打开桌子而不使用设计模式进行更改。并注意在上面的屏幕截图中,事件按钮是单独的按钮,在设计模式下打开表格时更容易点击。

请注意,要直接从数据表视图编辑数据宏,数据库必须启用“在数据表视图中启用表格的设计更改”选项:

dbOptions.png

如果未设置该选项,则在数据表视图中禁用数据宏按钮。