我有一个包含数十个字段的表单。
这些字段是文本框和组合框的组合。我试图找出一个按钮解决方案,以检查是否为空/空白/空字段。
如果找到空白,我希望它显示一个表格;如果没有找到,我希望它关闭当前表格。
我的代码如下。
它成功遍历所有字段并在找到空白/空/空字段时显示一个表单,但是当(且仅当)没有空白/空/时,我无法弄清楚如何关闭表单表单上的空字段。
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
答案 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