Ms access 链接表有时被MS Access VBA锁定

Ms access 链接表有时被MS Access VBA锁定,ms-access,vba,Ms Access,Vba,我有两个MS Access文件(.mdb),一个叫做“A”,第二个叫做“B”。 A包含数据库表,B是只读的,包含报表。B还包含表格,并链接到A的表格。 当我从B运行报告时,链接的表被锁定,什么也不给我。 有什么解决办法吗? 谢谢,关于Remous的评论,如果您已将B.mdb设置为只读,以防止用户更改报告,则可以通过使用B.mdb创建MDE来完成同样的任务。它有效地编译了现有的MDB,并关闭了对表单、报表等的编辑。数据可能会发生变化,我认为宏可以导入/导出,但在其他方面,它的抗子弹能力非常强 您可

我有两个MS Access文件(.mdb),一个叫做“A”,第二个叫做“B”。 A包含数据库表,B是只读的,包含报表。B还包含表格,并链接到A的表格。 当我从B运行报告时,链接的表被锁定,什么也不给我。 有什么解决办法吗?
谢谢,

关于Remous的评论,如果您已将B.mdb设置为只读,以防止用户更改报告,则可以通过使用B.mdb创建MDE来完成同样的任务。它有效地编译了现有的MDB,并关闭了对表单、报表等的编辑。数据可能会发生变化,我认为宏可以导入/导出,但在其他方面,它的抗子弹能力非常强


您可以通过进入:工具->数据库实用程序->使MDE

来实现这一点。听起来您或其他人在“A”上有一个独占的文件锁。如果MSAccess中打开了“A”,请关闭该access实例,然后重试报告。如果失败,您必须找出谁以独占方式锁定了文件。是的,因为所有数据库都是共享的。我们是否可以保证使用VBA代码防止锁定?对不起,我是VBA新手。当您说只读时,您的意思是包含文件的目录是只读的吗?由于锁定文件(ldb),这通常会导致访问问题。如果具有只读权限的用户打开数据库,则由于锁定文件的原因,其他用户无法获得访问权限。VBA无法解决这个问题。这个问题的措辞相当混乱。当你说“B包含表并链接到A的表”时,你的意思是B有自己的本地表加上指向A中表的链接,还是说B中的所有表都是指向A的链接表?当你说“当我从B运行报告时”,你的意思是打开B并运行报告吗?或者您正在使用Application.Run从A打开B中的报表?使MDE/ACCDE使所有代码承载对象的设计都是只读的。这意味着它对表、查询和宏没有任何影响,这些都不承载代码。它锁定窗体、报表和模块。