我想循环浏览表单中的所有文本框和cbo,除了一个特定的文本框(其中包含OpenArgs)。 我想对所有的字段进行标识,以确保它们都被填入,但这是一个未绑定的表单,有时在表单中不会有OpenArgs。
尽管.Value不是VBA中的下拉选项,但它确实可以工作,只是不考虑使用vbNullString的NULL。 我一直得到n=0
Dim ctl As Control
Dim n As Integer
n = 0
For Each ctl In Me.Controls
If ctl.Name <> "txt_OpenARgs" Then
Select Case ctl.ControlType
Case acTextBox, acComboBox ' adjust to taste
If ctl.Value = vbNullString Then
n = n + 1
Debug.Print n
End If
End Select
End If
Next ctl
If n > 0 Then
MsgBox "All fields must be populated before saving.", vbOKOnly, "Missing Data"
Else
...
试着用Nz代替vbNullString。
Dim ctl As Control
Dim n As Integer
n = 0
For Each ctl In Me.Controls
If ctl.Name <> "txt_OpenARgs" Then
Select Case ctl.ControlType
Case acTextBox, acComboBox ' adjust to taste
If Nz(ctl.Value,"") = "" Then
n = n + 1
Debug.Print n
End If
End Select
End If
Next ctl
If n > 0 Then
MsgBox "All fields must be populated before saving.", vbOKOnly, "Missing Data"
Else
我需要使用。
如果ctl.Value & vbNullString = "" 那么