Phi*_*ier 34

如果要压缩/修复外部mdb文件(不是刚刚使用的文件):

Application.compactRepair sourecFile, destinationFile
Run Code Online (Sandbox Code Playgroud)

如果要压缩您正在使用的数据库:

Application.SetOption "Auto compact", True
Run Code Online (Sandbox Code Playgroud)

在最后一种情况下,关闭文件时将压缩您的应用程序.

我的意见是:在一个额外的MDB"compacter"文件中编写几行代码,当你想压缩/修复mdb文件时可以调用它是非常有用的:在大多数情况下,需要压缩的文件不能正常打开,所以你需要从文件外部调用方法.

否则,默认情况下,自动紧缩应在Access应用程序的每个主模块中设置为true.

如果发生灾难,请创建一个新的mdb文件并从错误文件中导入所有对象.您通常会找到一个无法导入的错误对象(表单,模块等).

  • 对于临时表来说,最好的选择是避免使用它们.第二好:以编程方式在use的%TEMP%文件夹上创建临时数据库,并使用该数据库,关闭应用程序时可以销毁该数据库. (7认同)
  • COMPACT ON CLOSE在任何设计合理的Access应用程序中都是毫无价值的(它只是需要压缩的后端,而且你的前端从未打开过),而且非常危险,因为你没有机会跳过它(紧凑型)可能导致某些类型的损坏但仍可访问的数据永久丢失). (5认同)
  • 当您使用客户端数据库来保存临时数据(例如本地表)时,在关闭时压缩文件是有意义的. (3认同)