循环浏览表格上的对象,除了一个特定的文本框。

问题描述 投票:0回答:1

我想循环浏览表单中的所有文本框和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

...

ms-access access-vba ms-access-forms
1个回答
1
投票

试着用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

0
投票

我需要使用。

如果ctl.Value & vbNullString = "" 那么

© www.soinside.com 2019 - 2024. All rights reserved.