适用于
Form 对象 |
---|
Report 对象 |
可以使用 RecordLocks 属性来确定记录锁定的方式,以及两个用户尝试同时编辑同一记录时所发生的情况。 可读/写。
表达式.RecordLocks
表达式 必需。 返回“适用范围”列表中的对象之一的表达式。
备注
编辑记录时,Access 会自动锁定该记录,以防止其他用户在完成之前对其进行更改。
-
窗体。 指定在更新多用户数据库中的数据时,如何已锁定基础表或查询中的记录。
-
报表。 指定在预览或打印报表时,是否锁定基础表或查询中的记录。
-
查询。 指定在运行查询时,是否锁定查询(通常是多用户数据库中的一项动作查询)中的记录。
注意: RecordLocks 属性仅适用于 Microsoft Access 数据库(.mdb 或 .accdb)中的窗体、报表或查询。
RecordLocks 属性使用以下设置。
设置 |
Visual Basic |
说明 |
---|---|---|
无锁定 |
0 |
(默认)在窗体中,两个或两个以上用户可同时编辑同一记录。 这也称为“乐观”锁定。 如果两个用户尝试将更改保存到同一记录,Access 会向第二个尝试保存记录的用户显示一条消息。 然后,此用户可以放弃该记录,将记录复制到剪贴板或替换另一用户所作的更改。 此设置通常用于只读窗体或单用户数据库。 此外,此设置还可用于多用户数据库以允许多个用户同时对同一记录进行更改。 在报表中,预览或打印报表时不会锁定记录。 在查询中,运行查询时不会锁定记录。 |
所有记录 |
1 |
在窗体视图或数据表视图中打开窗体时,预览或打印报表时或者运行查询时,基础表或查询中的所有记录均处于锁定状态。 虽然用户可以读取记录,但在窗体关闭、报表完成打印或查询运行完成之前,任何人都无法编辑、添加或删除任何记录。 |
已编辑的记录 |
2 |
(仅窗体和查询)只要任何用户开始编辑记录中的任何字段,一页的记录都将被锁定,直到用户移到另一记录后才会解除锁定。 因此,每次仅有一个用户可以编辑记录。 这也称为“悲观”锁定。 |
注意: 可使用窗体的属性表、宏或 Visual Basic for Applications (VBA) 代码设置此属性。
注意: 更改打开的窗体或报表的 RecordLocks 属性会导致自动重新创建记录集。
如果只有一个人使用基础表或查询,或对数据进行所有更改,可以对窗体使用“无锁定”设置。
在多用户数据库中,如果想要使用乐观锁定并警告尝试编辑窗体上同一记录的用户,也可以使用“无锁定”设置。 如果想要防止两个或两个以上的用户同时编辑数据,则可以使用“已编辑的记录”设置。
如果需要确保在开始预览或打印报表,或者运行追加、删除、生成表或更新查询后,不对数据进行任何更改,则可以使用“所有记录”设置。
在窗体视图或数据表视图中,每条锁定的记录在其记录选择器中都具有锁定标记。
提示
若要更改窗体的默认 RecordLocks 属性设置,请单击“Microsoft Office 按钮”,然后单击“Access 选项”。 在“Access 选项”对话框中,单击“高级”,然后选择“默认记录锁定”下的所需选项。
无论 RecordLocks 属性如何设置,来自开放式数据库连接 (ODBC) 数据库中的窗体、报表或查询都将作为如同已选择“无锁定”设置那样进行处理。
示例
以下示例将“雇员”窗体的 RecordLocks 属性设置为“已编辑的记录”(只要任何用户开始编辑记录中的任何字段,一页的记录都将被锁定,直到用户移到另一记录后才会解除锁定)。
Forms("Employees").RecordLocks = 2