vba - 是否有“释放”引用的 VBA 方法也会立即删除 ldb(锁定文件)?
问题描述
设想:
使用 accde(或 accdb)文件作为通用代码库(例如 source.accde)
其他数据库持有对库文件的引用。
我知道并且能够删除引用(通过 VBA 或“Tools..References”)并在 Project Explorer(“References”子文件夹消失)和“工具”菜单下确认它的删除。
挑战:
创建引用时,会在与库相同的目录中创建一个 ldb 锁定文件。但是,当引用被删除(通过 VBA 或工具菜单)时,锁定文件不会消失,并且会一直存在,直到我完全关闭引用库的数据库文件。这意味着我无法复制库文件(例如新版本)
问题/寻找:
删除引用时是否有 vba 命令/替代方法来释放锁定文件?我从之前的答案中了解到,引用的项目将保留在 vbe 中,这可能是锁定的来源?仅关闭 VBE 不会改变任何事情(项目在访问本身关闭之前一直存在)。
解决方案
即使可以,也不应该覆盖库文件,因为这会使主应用程序无法编译。即使您关闭主应用程序然后覆盖库文件,它也会如此。
这是库文件的限制之一。
唯一可靠的方法是将它们作为一对分发:使用其库文件编译的主应用程序。
推荐阅读
- javascript - 即使客户端没有提供回调,有没有办法从服务器发送响应?
- javascript - 在下拉菜单上使用锚标记进行页面导航
- javascript - 有没有办法创建一个可以读取它所在目录的模块?(打字稿/JavaScript)
- java - 在静态成员类中展平 JUnit 测试
- ios - 如何在 SwiftUI 中迭代/foreach 数组
- python - 使用 mypy 的子类型
- c - 为什么我的代码会导致分段错误,但没有使用不同的起始参数?
- javascript - 如何使第二个导航栏菜单粘性正确工作?
- c# - 获取 EF Core 3.1 中的角色列表
- javascript - Express JavaScript Supertest 期望特定的 json 字段