2009-11-11 108 views
0

它并不总是这样做,但自从我拆我的数据库并提出了前端的ACCDE文件,任何时候我尝试压缩和修复任何文件,生成名为“数据库1”的新文件,并且原始文件大小不会更改。Access创建新的文件,我每次压缩和修复

这是正常的吗?

我ACCDB大约是20MB,并且正在使用的第一次后,我的ACCDE刚刚超过100万。在开始之前,ACCDE只有600k(我有很多表单和查询,并且定期存储PDF附件。

回答

4

新文件是因为压缩和修复过程没有完成,所以它不能删除原始文件并重命名压缩后的文件。这可能是因为它不具有独占访问。确保每个人都从系统中你之前压缩和修复。还请检查您对该文件夹具有完全权限。

+2

您还应该看看新创建的文件,看它是否有MSysCompactErrors表。通常情况下,当您没有独占访问权时尝试的压缩包甚至不会启动 - 访问用户界面会向您发送一条消息,指出由于其他人正在使用它而无法执行此操作。所以,我怀疑在实际的维修操作中有些失败。 – 2009-11-12 02:41:06

+0

我尝试使用独占访问,并且还查找了一个错误表,对我而言,情况似乎都不是这样。 – NickSentowski 2009-11-13 14:55:41

0

这要看你怎么做

当使用Jet复制对象(JRO)库时,方法JRO.JetEngine.CompactDatabase被定义为

Sub CompactDatabase(SourceConnection As String, Destconnection As String) 

如果提供相同的连接字符串两个参数你得到一个错误,“数据库已存在”。

因此,在使用时JRO是的,它是正常的压缩时,要创建一个新的文件。

+0

我只是在Office按钮 - >管理菜单中使用压缩和修复。 – NickSentowski 2009-11-13 14:56:18

0

在某些情况下,它可能是这样的,我有同样的问题。在我的情况下,这是关于它的网络驱动器。

我的解决方法是把它变成我的C:\,并做它在那里,然后我将它返回到网络驱动器,一旦压缩和修复完成。

+0

你是否申请过SP 2?请参阅http://allenbrowne.com/Access2007.html#Bugs(搜索“compact”)。 – 2010-05-27 17:54:13

相关问题