制作领域中的MS Access形式可见某些字段完成(Make fields visible in M

2019-10-28 13:38发布

我建立一个形式,在MS Access为用户输入数据,但有太多可能的领域。 大多数时候,只有大约一半的领域将被使用。

因此,我想有某些字段只出现取决于用户在之前给定的输入字段什么。

例如:用户输入项目编号,标题,然后他检查了“是/否”工程。 因为他检查了它,这意味着工程的影响,从而十几场,用户必须填写出现。

这可能吗:

1)无VBA

2)与VBA

Answer 1:

也许不可能没有VBA。

随着VBA例如:

  1. 确保您的形式是在设计视图
  2. 右键单击您的组合框,事件生成,代码生成器

这将打开窗体后面的代码。 它会把你变成了默认代码BeforeUpdate的事件。 我们希望Change的事件,而不是,所以在右上角改变降下来,从BeforeUpdateChange 。 这会给你一点这样的代码:

Private Sub Field1_Change()

End Sub

这里面,要检查组合框的值,并根据需要隐藏字段:

假设您的组合框的名称是field(当然你的将是不同的),你添加一些代码,以便它看起来像这样隐藏字段2:

Private Sub Field1_Change()
  If Field1.Value = "Yes" Then
      Me.Field2.Visible = False
  End If
End Sub

请注意,你需要知道你所有的字段的名称 - 这是在其他选项卡,在属性对话框(F4)名称字段。 你应该给你所有的领域懂事的名字,这样你就能明白是什么代码怎么回事。

对于一个复选框,遵循完全相同的程序,但你可能需要使用Click事件。 只是实验。

抽样检查框代码:

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


Answer 2:

我有一个表格中选择一个列表框的值后,将显示某些字段。 我用的是更新后的功能。 到目前为止,它已经奏效。 我的代码如下。 项目名和ProjectNumber是如果选择工程你只想要显示的字段。 中文别名和OtherNumber你只想显示,如果它是一个“NotEngineering”项目领域。

插入点击该选择项目类型字段这段代码,请转到属性表事件选项卡,并单击“更新后”,然后选择代码生成器和VBA粘贴。

Private Sub ProjectType_AfterUpdate()
If ProjectType.Value = "Engineering" Then
      Me.ProjectName.Visible = True
      Me.ProjectNumber.Visible = True
 Else
      Me.ProjectName.Visible = False
      Me.ProjectNumber.Visible = False
 End If

If ProjectType.Value = "NotEngineering" Then
      Me.OtherName.Visible = True
      Me.OtherNumber.Visible = True
 Else
      Me.OtherName.Visible = False
      Me.OtherNumber.Visible = False
 End If

End Sub


Answer 3:

有一个办法做到不-相当,这一点没有VBA。 我肯定会推荐VBA不过,因为你可以做更多的事情吧。

而不是隐藏,尝试通过表达禁用与条件格式的不必要的字段。

你想要禁用的控制单击鼠标右键。 往下走,然后单击“条件格式”添加新的规则选择“表达为”

例如:[FLD1] = “是”

打残疾人中单击确定单击确定

现在如果场1已选择“是”,你所选择的控制将禁用。



Answer 4:

我有同样的问题,我做了以下内容:

Private Sub Field1_Click()
If Field1 = "Yes" Then
Me.Field2.Visible = True
Else: Me.Field2.Visible = False
End If
End Sub

但是现在我有其他的问题,当我改变的记录,我选择去在最后一个记录可见该领域现已在当前记录可见,虽然我还没有任何choosen选项。

谢谢,



文章来源: Make fields visible in MS Access form as certain fields are completed