ms-访问记录/页面级别锁定

时间:2010-07-30 19:44:40

标签: sql ms-access vba

我对数据库发生了什么感到困惑

我有一个拆分的前端和后端访问数据库

每个用户都有自己的前端

有时一些用户可以编辑数据,有时则无法编辑数据。我不知道如何解释这个

以下是设置: alt text http://img688.imageshack.us/img688/5779/47047459.png

任何人都知道这里发生了什么>?

1 个答案:

答案 0 :(得分:2)

正如您在屏幕截图中看到的那样,设置默认为无锁定。但是,该屏幕中的设置仅适用于您创建新表单时的默认设置。换句话说,修改该屏幕中的设置不会影响您已创建的应用程序中的现有表单。

上述课程的例外是使用行锁定的全局设置,即系统范围的设置。

再次: “无锁”,“所有记录”和“编辑记录”以上的选项仅适用于您创建的新表单。它们不会改变应用程序中现有表单的行为。

因此,您必须在表单的基础上对表单进行更改,您可以在表单属性表的数据选项卡中找到此设置以锁定行为。

然而,在完成上述所有操作后,我认为上述设置并不是您遇到的问题。

我怀疑你的真正问题是当打开访问数据库时,会创建一个管理用户冲突和记录锁的单独的临时“锁定”文件(请记住,这个临时锁定文件是在同一目录中创建的共享数据的位置,在这种情况下是您的后端共享数据文件夹)

这意味着当共享后端文件夹中没有CREATE FILE权限的用户意味着访问将强制以READ ONLY模式打开数据文件(如果访问无法创建该锁定管理文件,则默认为只读模式)。

这意味着当打开数据库的第一个用户无法创建临时单独的锁定文件时,大多数情况下,进入数据库的其他用户也将无法进行修改,并且也将在只读模式。这导致了一个令人困惑的故障排除问题,即发现用户FIRST打开数据库的顺序在某种意义上确定数据库将是只读的。

这确实是一个非常奇怪的问题,但是一旦解释了上述临时锁定文件之谜就会变得更加清晰。

实际上,为了消除这些问题,这意味着所有用户都需要该共享文件夹的文件创建权限。实际上,当它们退出时,最后一个退出将导致删除临时锁定文件。因此,所有用户都应该具有该共享文件夹的文件删除权限。

因此,在进行故障排除和测试期间,请确保每个单用户都具有对该后端文件夹的全开文件权限。如果不这样做,那么您将发现打开该文件的用户(以及没有文件创建权限的用户)的顺序实际上将确定数据库的只读状态。