我的问题是一个开发和管理问题的混合,但由于它主要影响开发人员,并涉及开发工具(Access、VBA和表单模型),我在这里张贴它,希望我不会被激怒。话虽如此,但我还是说:
我已经将Access 2010 x64 .adp项目转换为Access 2016 .accdb,这并不太难。但是现在,每当我运行引用窗体的UniqueTable属性的代码时,都会得到以下错误:
Run time error 2455 You entered an expression that has an invalid reference to the property UniqueTable.这是Access 2013和Access 2016的已知问题;例如,请参阅here。
微软已经修复了这个问题--参见here。
问题来了:几天前,我安装了Office2016 x64。尝试应用上面提到的修复程序时,我只收到以下消息:
There are no product affected by this package installed on this system.当然,我已经仔细检查过我使用的是补丁的正确版本(x64)。不过,我还没有尝试安装Office2016 x86并应用x86版本的补丁。
有没有人真的在Office2016的x64版本上安装了这个补丁?根据Jim Conrad的声明(倒数第二篇here),它解决了问题,但如果我们不能安装它,这并没有帮助。
发布于 2019-03-28 03:52:35
那么,唯一表设置在Access (非adp)中实际上没有任何用处。据我所知,该设置告诉(告知) Access使用源数据表中的PK,因此应该不会影响我在这里能想到的任何值。
我要做的是在设计模式下打开(S)在ADP项目中的表单,并简单地清除设置,然后再将表导入到accDB。问题是你不能在accDB中获取和删除这个不需要的设置,但是当你从ADP复制时它仍然存在。
因此,只需清除ADP中的uniqueTable设置,然后导入表格即可。您还可以编写一个循环,在将所有表单导入access之前一次完成所有表单(所以,我想在副本上工作是有意义的)。
因此,这里的问题是,当您将表复制到accDB中时,该设置仍然存在,但之后您无法获取、更改或删除此设置,因为它不是通过代码或属性表公开的。
因此,这里的简单解决方案是在将表单导入accDB之前删除ADP应用程序中的设置。
https://stackoverflow.com/questions/55363739
复制相似问题