如何遍历所有子表单MS Access VBA

时间:2017-03-23 09:11:33

标签: ms-access access-vba

我有一个包含许多子表单(和子子表单)的主表单。我想在我的主子窗体上有一个按钮,它将每个子窗体从enabled = true切换到enabled = false。是否可以这样做而无需专门参考每个子表单?也许是这样的:对于frmMainForm的每个子表单......?

3 个答案:

答案 0 :(得分:2)

是的,您可以循环控件:

For Each Control In Me.Controls
    If Control.ControlType = acSubform Then
        ' Do something with this subform control.
    End If
Next

答案 1 :(得分:0)

For Each Control In Me.Controls
    If Control.ControlType = acSubform Then
        If Control.Name = sSubform Then
            Control.Visible = True
        Else
            Control.Visible = False
        End If
    End If
Next

help4access.com使用此方法打开/打开子窗体,或者将许多子窗体放置在一个主窗体中。

答案 2 :(得分:0)

要切换布尔设置,请将其设置为 Not 本身。我还提供了另一种检查对象类型的替代方法,该对象适用于所有对象,而不仅仅是具有或不具有 ControlType 属性的控件。

For Each Control In Me.Controls
    If TypeOf Control Is SubForm Then
        Control.Visible = Not Control.Visible
    End If
Next