完成某些字段后,使字段在MS Access表单中可见

use*_*809 5 ms-access vba access-vba ms-access-2010

我正在MS Access中构建一个供用户输入数据的表单,但是可能有太多字段。大多数情况下,将只使用一半的字段。

因此,我希望某些字段仅取决于用户在先前给定字段上输入的内容。

例如:用户输入项目编号,标题,然后检查“是/否”工程。自从他检查之后,这意味着工程受到了影响,因此出现了许多用户必须填写的字段。

这可能吗:

1)没有VBA

2)使用VBA

Nic*_*aid 5

没有VBA,可能无法实现。

以VBA为例:

  1. 确保您的表单在设计视图中
  2. 右键单击组合框,构建事件,代码构建器

这将打开表单后面的代码。它将您带到该BeforeUpdate事件的默认代码中。我们需要Change事件,所以在右上角将下拉菜单从更改BeforeUpdate为Change。这将为您提供如下代码:

Private Sub Field1_Change()

End Sub
Run Code Online (Sandbox Code Playgroud)

在此处内部,您要检查组合框的值并根据需要隐藏字段:

假设组合框的名称为Field1(您的名称当然会有所不同),则添加一些代码,以便隐藏Field2:

Private Sub Field1_Change()
  If Field1.Value = "Yes" Then
      Me.Field2.Visible = False
  End If
End Sub
Run Code Online (Sandbox Code Playgroud)

请注意,您需要知道所有字段的名称-这是在“其他”选项卡的属性框中(F4)的“名称”字段。您应该给所有字段起一个合理的名称,以便您了解代码中的情况。

对于复选框,请遵循完全相同的过程,但是您可能需要使用该Click事件。只是实验。

样本复选框代码:

Private Sub Check5_Click()
  ' Note: vbTrue = -1
  If Me.Check5 = vbTrue Then
    MsgBox ("Ticked")
  Else
MsgBox ("Not Ticked")
  End If
End Sub
Run Code Online (Sandbox Code Playgroud)