(这是对早期问题here的答案的后续跟进。)
我有一个Access 2010数据库文件,其中包含一个带有Before Change
数据宏的表:
我可以在数据表视图中打开表并添加行,数据宏的行为与预期一致。但是,如果我在设计视图中打开表格,打开数据宏进行编辑,执行一些简单的操作,例如单击其中一个宏步骤旁边的[+]以展开详细信息,然后尝试保存“更改”我得到了错误
“LookUpRecord”宏操作的“查找记录输入”参数值无效。
我还尝试在新的Access 2010 .accdb
中从头开始创建宏并获得相同的错误。我在三台不同的机器上测试了这个:两台运行64位Access 2010的机器和一台运行32位Access 2010的机器。所有机器都通过Microsoft Update完全修补。 (也就是说,它们目前正在运行版本14.0.7106.5003。)
测试时我注意到这似乎与事件驱动的数据宏有关,它试图使用LookUpRecord
在数据宏应用的相同表上执行SELECT。在某些其他表上执行SELECT似乎不会触发错误。
我的问题是:
任何人都可以使用修补版本的Access 2010重新创建此问题吗?
任何人都可以使用未修补版本的Access 2010(例如,早期版本的全新安装)来测试这一点,以查看后续修补程序是否已破坏?
有没有人看过任何文档或互联网聊天,建议特定表的事件驱动数据宏(或不)能够通过对自己执行SELECT来执行LookUpRecord
?
编辑 - 2013-12-19 14:10 UTC:
我刚刚使用Access 2010 SP1(14.0.6023.1000)对此进行了测试,结果相同。
答案 0 :(得分:2)
我认为问题是表别名。如果在布局模式下打开表格(只需在设计模式下打开表格)。然后你得到这个:
您现在可以自由编辑宏(例如展开动作),然后保存宏。
我怀疑这是一个非故意的错误,因为如果在设计模式下打开表,则表被锁定,宏无法获取/检查验证查找命令中使用的SQL。
请注意,如果您只是在宏设计器中放置表名,那么您就没有问题,这就是99%的人在这种情况下所做的事情。
大多数人都不知道你可以在这里自由输入SQL类型!!!
保存后,设计器会尝试针对表验证SQL - 但表在设计模式下被锁定。所以在一个回合中,这是一个错误,但很少遇到它,因为很少在SQL中输入该查找记录命令。
我会注意到只需通过点击它打开桌子而不使用设计模式进行更改。并注意在上面的屏幕截图中,事件按钮是单独的按钮,在设计模式下打开表格时更容易点击。
请注意,要直接从数据表视图编辑数据宏,数据库必须启用“在数据表视图中启用表格的设计更改”选项:
如果未设置该选项,则在数据表视图中禁用数据宏按钮。