访问VBA - 使用AddFromFile而不锁定引用文件

时间:2016-01-05 15:31:11

标签: vba ms-access

我有五个MS Access(Office 2013)数据库,这些数据库分为五个前端(在多个用户桌面中)和五个后端(在服务器中)文件。我的大部分代码都在.accdb文件中,而我的前端文件使用以下命令引用代码文件(在服务器中):

Application.VBE.ActiveVBProject.References.AddFromFile "W:\DB\Code.accdb"

当人们使用前端文件时,一切正常。

但是,每当我需要更正代码文件中的某些内容时,如果有人打开了其前端文件,我就无法做到(我得到了#34;此时您没有对数据库的独占访问权限。如果您继续进行更改,则可能以后无法保存。")。

前端文件是否有任何方式以非独占或只读模式引用代码文件?我不希望实时更新代码前端文件,我只是希望能够进行更改,保存它们,然后用户在下次打开文件时获取它。

我已经尝试过:

  • 将Code.accdb设置为只读文件(这不重要,因为我还是需要编辑文件)
  • 设置文件夹的权限" W:\ DB \"除了我之外,只为所有用户阅读。这样,打开前端文件时不会创建锁文件,但代码文件只对我打开。

1 个答案:

答案 0 :(得分:0)

简单的解决方案是将您的前端和参考库分发给每个用户的计算机。

在过去的20年里,我们在每个桌面上安装了+部署的单词。

在过去的20年里,我们在每个桌面上安装了+部署的Excel。

在过去的20年中,我们在每个桌面上安装了APPLICATIONS。

因此,您需要加入IT行业的其余部分,以应对过去20年来所做的工作。鉴于您现在正在创建和编写软件而不是简单地打开word文档,因此这些系统按照传统安装在每个桌面上。您购买了某些软件并将其安装在每台计算机上,或者您现在正在编写自己的软件这一事实并未改变在每台计算机上安装此类软件的长期历史。

我还应该指出,你的前端不仅需要安装在每台计算机上,而且应该是编译后的accDE。您的参考库也应该是编译代码。

我的意思是,如果一个用户的单词副本变坏,那么所有50个用户必须回家,直到单词被修复,如果你共享一个副本。因此,解决方案是做行业中其他人所做的事情 - 在每个工作站上安装软件,因此作为开发人员,您可以处理下一个软件版本的副本。