首页 > 解决方案 > 是否有“释放”引用的 VBA 方法也会立即删除 ldb(锁定文件)?

问题描述

设想:

使用 accde(或 accdb)文件作为通用代码库(例如 source.accde)

其他数据库持有对库文件的引用。

我知道并且能够删除引用(通过 VBA 或“Tools..References”)并在 Project Explorer(“References”子文件夹消失)和“工具”菜单下确认它的删除。

挑战:

创建引用时,会在与库相同的目录中创建一个 ldb 锁定文件。但是,当引用被删除(通过 VBA 或工具菜单)时,锁定文件不会消失,并且会一直存在,直到我完全关闭引用库的数据库文件。这意味着我无法复制库文件(例如新版本)

问题/寻找:

删除引用时是否有 vba 命令/替代方法来释放锁定文件?我从之前的答案中了解到,引用的项目将保留在 vbe 中,这可能是锁定的来源?仅关闭 VBE 不会改变任何事情(项目在访问本身关闭之前一直存在)。

标签: vbams-accessreference

解决方案


即使可以,也不应该覆盖库文件,因为这会使主应用程序无法编译。即使您关闭主应用程序然后覆盖库文件,它也会如此。

这是库文件的限制之一。

唯一可靠的方法是将它们作为一对分发:使用其库文件编译的主应用程序。


推荐阅读