检查文本框是否为空以控制子窗体的可见性

时间:2018-06-18 16:48:59

标签: vba ms-access access-vba ms-access-2007

我有一个带有文本框的表单,用于向数据库添加新事件。一些文本框是强制性的,而其余文本框则不是。其中还有一个用于添加参与者详细信息的子表单。

如果一个或多个必填字段没有任何内容,我不希望子窗体可见。我试过这个但是无论是否在必填字段中有数据,子表单都保持不可见:

Dim ctl As Control   
For Each ctl In Me.Controls
      If ctl.ControlType = acTextBox Then
           If Not (IsNull(ctl.Value) Or ctl.Value = "") Then
              Me.subfrmParticipants.Visible = False
           Else
              Me.subfrmParticipants.Visible = True
           End If
      End If
Next ctl

1 个答案:

答案 0 :(得分:0)

您正在使用双重否定,而不是仅仅在文本框中检查NULL值。

更改此

If Not (IsNull(ctl.Value) Or ctl.Value = "") Then

To This:

If (IsNull(ctl.Value) Or ctl.Value = "") Then

然后,如果为文本框分配了数据库NULL值或为空, 然后hide子窗格命令将启动