我正在尝试拆分我工作的Access数据库,但是我遇到了一些我正在努力解决的问题。如果我能先解释一下这个问题。 我在一家拥有现场IT支持但不支持Access的大型跨国公司工作(所以没有帮助) 我们有12个人在我们的部门工作,我们在联网的F驱动器上有一个设计糟糕的StockMaster数据库。问题是它只为单个用户设置,我们必须轮流使用它。我们不是精通计算机的人,我们倾向于每天运行相同的命名查询
数据库每天只更新一次,每天早上我们都会从阿姆斯特丹的同事那里下载。我不想玩这个数据库,因为首先我不是专家,其次如果我打破它,没有人会解决它。
我的计划是这样的; 我创建了一个新的Access数据库StockMaster2,用于导入所需的表。使用VB编码模块,删除旧的然后导入新的。因此,每天早上它复制原始数据库中的内容,它工作正常。 我的下一步是拆分数据库,创建前端并分发。这是我遇到问题的地方。 我创建了原始的前端StockMaster2_fe.accde并将其放在F:\驱动器上的数据库文件夹中。每个用户都有自己的前端副本吗?我复制并保存了另外两个前端(复制并粘贴到同一个文件夹中 - >重命名),即StockMaster2_alan_fe和StockMaster2_ryan_fe并对其进行了测试。我告诉Ryan(坐在我旁边)在F:\驱动器上找到以他命名的前端,然后在我... alan_fe时打开它。我们两个人同时去运行宏,但是因为它给了我独家访问权限而被踢出去了。 我究竟做错了什么?为什么不允许多次访问? 我的问题是,由于严格的管理员权限,我无法下载任何软件或访问命令行,所以我做的任何事情都必须在Access本身完成
答案 0 :(得分:0)
让我们打破这一点(只因为我已完成所有工作......):
我的下一步是拆分数据库,创建前端并分发。这是我遇到问题的地方。我创建了原始的前端StockMaster2_fe.accde并将其放在F驱动器的数据库文件夹中。每个用户都有自己的前端副本吗?
是强>
我复制并保存了两个前端(复制并粘贴到同一个文件夹中 - >重命名),即StockMaster2_alan_fe和StockMaster2_ryan_fe并对其进行了测试。我告诉Ryan(坐在我旁边)在F驱动器上找到以他命名的前端,然后在我... alan_fe时打开它。我们两个人同时去运行宏,但是因为它给了我独家访问权限而被踢出去了。我究竟做错了什么?
确保您的后端包含仅表。访问是以客户为中心的"数据库,这意味着在运行查询时,它会将管道上的所有数据提取到本地计算机,执行其操作,然后将其发回。因此,请确保后端只有表格,所有其他爵士(宏,查询等)都在前端。此外,前端将包含链接到后端表。您的所有查询/宏/等等都将引用这些链接,而不是直接引用后端数据库中的表。
为什么不允许多次访问?
另外,请确保您的表锁定方案是多用户友好的。如果您正在进行表锁定,则会导致错误。如果你正在进行记录锁定,它可能会赢得
我的问题是,由于严格的管理员权限,我无法下载任何软件或访问命令行,因此我所做的任何事情都必须在Access本身完成。
根本不应该成为问题。
答案 1 :(得分:0)
我很抱歉没有尽快看到这篇文章来结束你的痛苦。必须解决两个绝对主要问题才能使您走上正轨。首先,也许最重要的是,您的文件名称为StockMaster2_fe.accde。扩展名accde是可执行版本。无法对该版本进行设计更改。扩展应该说.accdb为您提供了更改数据库的所有灵活性,为后端表创建一个数据库,以及为前端对象提供第二个数据库,以包括查询,表单,报告,宏和模块。如果您有accdb版本,那么您的工作将变得更加容易。
第二个问题,如果您的团队无法共享数据库,则表明数据库在首次打开时以独占模式打开。可以在“高级”部分的“高级”菜单的“访问选项”中更改此选项。查找默认打开模式。它应该说Shared可以让多个用户同时运行。
可能发生的隐藏问题是数据库具有VBA代码,该代码通知数据库以独占方式打开。使用您的accde版本,您将无法访问该代码或更改数据库的打开方式。