我有一个MS Access 2007拆分数据库。后端数据库(accdb)包含1个表。它位于服务器共享上。更新表的用户对该文件具有完全NTFS权限。多个前端用户对该文件具有NTFS读取访问权限。前端数据库(accdb)包含查询和指向后端数据库文件的链接。每个前端用户都有一个前端数据库的本地副本。
这就是问题所在;如果后端数据库需要更新,并且前端用户打开了前端数据库,则后端数据库是只读的。如果我让所有前端用户关闭其数据库的本地副本,则可以更新后端数据库。但是,如果后端文件已打开(正在更新),并且前端用户打开其数据库的本地副本,则他们无法运行查询。
我试图实现的是前端用户可以随时打开数据库的本地副本并运行查询,而后端数据库可以随时打开和更新。有没有办法做到这一点?当更新后端数据库时,用户无法运行查询,这非常令人沮丧-如果前端用户正在运行查询,则只能以只读访问权限打开后端数据库。
谢谢,汤姆
发布于 2011-08-12 00:17:15
如果您所说的“更新”是指输入记录,而不是更改表结构--您应该能够更改窗体的锁定类型,以便它们只锁定正在更新的记录,而不是正在更新的整个表。理想情况下,您的窗体和报表是基于查询的,对吧?
如果您希望做更多的事情,使用SQL Server Express可能会更好。它是通过Microsoft提供的免费产品,在编写不需要SQL Server的全部功能集的多用户应用程序时非常方便。这将允许您更好地控制谁可以执行什么操作,以及何时和使用什么表-并且您将获得对整体性能的额外好处。
https://stackoverflow.com/questions/7027815
复制相似问题