我有一个 Microsoft Access 应用程序,其中的主页是绑定到数据库中主表的表单(保存公司信息)。这是到 SQL Server 后端的链接表。数据库中有大约 40000 条记录和多个用户。
通常打开表单时没有任何过滤器。
有一个下拉列表可以查找特定公司 - 然后使用 where 条件重新打开表单。用户在完成与特定公司的合作后往往会取消切换过滤器按钮。
我发现当没有过滤器时,Access 会在 SQL Server 表上取出一个共享页面锁。当其他人试图更新或插入新记录到公司表中时,这可能会导致问题(他们在等待共享锁被释放时超时)。Access 会在进行任何过滤后立即删除页面锁定
我还发现,如果我使用表单底部的导航按钮转到最后一条记录,页面锁定就会被释放。
无论如何,我是否可以通过编程方式导致访问以释放此锁定 - 我尝试转到 on_ApplyFilter 事件中的最后一条记录 - 但我假设(因为你可以取消它)这发生在过滤器被删除之前,而不是之后。