MS Access 表单 - 锁定列以防止编辑
MS Access form - lock columns from editing
是否可以锁定特定列以防止在 Access 表单中进行编辑?
问题是我有一个显示信息的链接 table,用户可以更新它。现在发现有些列需要显示才能做出正确的决定,但我不希望他们编辑这些列。
您可以转到对象的属性窗格。然后转到数据选项卡。您会发现一个表示 enabled
和 locked
的值。
将 enabled
设置为否
和 locked
是。
不确定这是否是您的目标,或者您是否需要更安全的东西,但这就是我要开始的地方
可能最简单的方法是为您的链接 table 创建一个子表单,并将该子表单嵌入到主表单的数据表视图中。采用这种方法,您可以在子窗体的设计视图中锁定所需的列,但它看起来和感觉起来仍然像主窗体中的链接 table。
在您的表单上使用 Form_BeforeUpdate 事件。
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.Field <> Me.Field.OldValue Then
Cancel = True
End If
End Sub
Me.Field 是用户不能在此处更改的列。您可以在此块中应用任何 logic/validation。
Download Sample File - It has form frmEmployee which doesn't allow to change Employee name
是否可以锁定特定列以防止在 Access 表单中进行编辑?
问题是我有一个显示信息的链接 table,用户可以更新它。现在发现有些列需要显示才能做出正确的决定,但我不希望他们编辑这些列。
您可以转到对象的属性窗格。然后转到数据选项卡。您会发现一个表示 enabled
和 locked
的值。
将 enabled
设置为否
和 locked
是。
不确定这是否是您的目标,或者您是否需要更安全的东西,但这就是我要开始的地方
可能最简单的方法是为您的链接 table 创建一个子表单,并将该子表单嵌入到主表单的数据表视图中。采用这种方法,您可以在子窗体的设计视图中锁定所需的列,但它看起来和感觉起来仍然像主窗体中的链接 table。
在您的表单上使用 Form_BeforeUpdate 事件。
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.Field <> Me.Field.OldValue Then
Cancel = True
End If
End Sub
Me.Field 是用户不能在此处更改的列。您可以在此块中应用任何 logic/validation。
Download Sample File - It has form frmEmployee which doesn't allow to change Employee name