Access数据库工作正常,但压缩会杀死它

时间:2018-04-13 06:34:25

标签: vba ms-access crash access-vba ms-access-2013

我开发了一个Access(2013)应用程序/数据库,它在多个用户的网络位置共享。

数据库的规模迅速扩大,我们使用Compact&不时修复以减少它。但是,今天,压缩使数据库无法使用(" ID不是此表中的索引","无法找到AutoExec"等)。我知道它已经损坏了。

我已尝试恢复旧的可用版本,但问题仍然存在。事情是,除非压缩,否则一切似乎都能正常运作

所以现在我面临两难困境: 我应该回到一个非常老的版本,还是可以保留当前版本并让它在没有压缩的情况下增长?

2 个答案:

答案 0 :(得分:1)

呃......两个怎么样?您应该追踪错误的来源并进行修复。永远不会被压缩的数据库是在寻找问题。

您可以使用here所述的技术从表单中删除已编译的代码。本答案中描述的重建整个数据库选项几乎总能修复这些问题,但是非常耗费人力。

您可以使用我在this answer中描述的技术将所有数据库对象复制到新数据库。但是,这不像重建数据库那么彻底,可能会留下更多问题。

答案 1 :(得分:0)

我之前已解决此错误。如果您有到其他数据库(例如SQL Server)的链接表,并且服务器上的该表被编辑(添加新索引,更改现有索引)而忘记在Access中刷新该链接表的连接({{3} })。因此,为防止发生此错误,在远程表上进行更改后,请不要忘记刷新前端中链接表的连接。