我的访问表单“frmLoad”有五个标签页。其中一个页面有一个子窗体“frmClients”,带有几十个标签页。
我需要遍历frmClients上的每个选项卡页面,Debug.Print选项卡名称,修改某些标签,然后继续下一步。
(我不必访问frmLoad上的任何其他标签;我只提及它,以防我们必须完全限定所有内容。)
我一直在阅读的文档令人困惑。我不确定Page和Tab之间的区别,一方面。
答案 0 :(得分:2)
您可以从frmClients'中引用标签页。控制集合。
在标准模块中运行它,它将Debug.Print所需的引用。
Sub PrintLabelsReferences()
Dim ctrl As Object, pageCtrl As Object
For Each ctrl In Forms("frmLoad").Controls("frmClients").Controls
If TypeName(ctrl) = "Page" Then
For Each pageCtrl In ctrl.Controls
If TypeName(pageCtrl) = "Label" Then
Debug.Print "Me.Controls(""frmClients"").Controls("""; pageCtrl.Name; """).Caption ="""; pageCtrl.Caption; """"
Debug.Print "Forms(""frmLoad"").Controls(""frmClients"").Controls("""; pageCtrl.Name; """).Caption ="""; pageCtrl.Caption; """"
End If
Next
End If
Next
End Sub
如果要从表单外部修改Label.Caption
,请使用Forms()引用;如果要在Form代码模块中引用Label.Caption
,请使用Me。