基于另一个字段的值,但在同一条记录上,启用/禁用某些记录的字段中的输入

时间:2019-04-23 12:48:30

标签: ms-access access-vba access ms-access-2016

我与Access 2016一起工作,并且当“选择”分别为“否” /“是”时(当选择时为“是/否”),我试图锁定/解锁每个记录中的字段(Epileptic_activity,Quantifiable_activity和Seizure_aspect)。所有这些都在大导航表单的子表单中发生。

我用这种方法 Enabling/disabling input into certain fields based on the value of another field 并且可以正常工作,但是它可以锁定/解锁表单中显示的所有数据。 我将“选择”中的任何一项都选中后,所有记录均已解锁Epileptic_activity,Quantifiable_activity和Seizure_aspect。

这是我使用的代码:

Private Sub Selection_AfterUpdate()

Me.Epileptic_activity.Enabled = True

Me.Quantifiable_activity.Enabled = True

Me.Seizure_aspect.Enabled = True

If (Me.Selection = False) Then

    Me.Epileptic_activity.Enabled = False

    Me.Quantifiable_activity.Enabled = False

    Me.Seizure_aspect.Enabled = False

    End If

End Sub

因此,我希望能够按记录的方式锁定/解锁Selection之后的字段,因为在一个记录中我们可以具有Selection,并且以下字段是必需的,但是下一个记录没有Selection =“ yes”,并且那么我希望锁定以下3个字段。

我如何使其工作?

thx寻求帮助

1 个答案:

答案 0 :(得分:0)

您无法更改,这就是Access的工作方式。

但是,您可以通过检查Selection的值来在每次控件获得焦点时分别启用/禁用每个控件。

Private Sub Epileptic_activity_Enter()

    If Selection.Value = False Then Epileptic_activity.Enabled = False Else Epileptic_activity.Enabled = True

    'or simply

    Epileptic_activity.Enabled = Selection.Value

End Sub

您将需要对所有三个控件执行此操作。