MS Access 表单 - 锁定列以防止编辑

MS Access form - lock columns from editing

是否可以锁定特定列以防止在 Access 表单中进行编辑?

问题是我有一个显示信息的链接 table,用户可以更新它。现在发现有些列需要显示才能做出正确的决定,但我不希望他们编辑这些列。

您可以转到对象的属性窗格。然后转到数据选项卡。您会发现一个表示 enabledlocked 的值。

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