对空白,空或空字段进行访问检查

时间:2018-12-17 23:35:07

标签: loops ms-access null access-vba is-empty

我有一个包含数十个字段的表单。

这些字段是文本框和组合框的组合。我试图找出一个按钮解决方案,以检查是否为空/空白/空字段。

如果找到空白,我希望它显示一个表格;如果没有找到,我希望它关闭当前表格。

我的代码如下。

它成功遍历所有字段并在找到空白/空/空字段时显示一个表单,但是当(且仅当)没有空白/空/时,我无法弄清楚如何关闭表单表单上的空字段。

Private Sub Command146_Click()
    Dim ctl As Control

    With Me
        For Each ctl In .Controls
            If ctl.ControlType = acComboBox Or ctl.ControlType = acTextBox Then
                If Len(ctl.Value & "") = 0 Then
                    DoCmd.OpenForm "PopMissingData"
                    Exit For
                End If ' Value
            End If ' ControlType
        Next
    End With
End Sub

1 个答案:

答案 0 :(得分:2)

只需检查Control对象是否已“用完”:

Private Sub Command146_Click()

    Dim ctl As Control

    With Me
        For Each ctl In .Controls
            If ctl.ControlType = acComboBox Or ctl.ControlType = acTextBox Then
                If Len(ctl.Value & "") = 0 Then
                    Exit For
                End If ' Value
            End If ' ControlType
        Next
    End With

    If ctl Is Nothing Then
        ' All controls validated.
        DoCmd.Close acForm, Me.Name
    Else
        ' Open the other form.
        ' ctl will hold the non-validated control.
        DoCmd.OpenForm "PopMissingData"
    End If

End Sub