Я хотел бы l oop через все текстовые поля и cbo в форме, за исключением одного специального текстового поля c (которое содержит OpenArgs). Я хотел бы указать все поля, чтобы убедиться, что все они заполнены, но это несвязанная форма, и иногда в ней не будет OpenArgs.
Хотя .Value не является раскрывающимся вариантом в VBA он действительно работает, просто не считает его NULL, используя vbNullString. Я получаю 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
...