2016-11-10 41 views
0

我的訪問表單「frmLoad」有五個標籤頁。其中一個頁面有一個子表單「frmClients」,帶有幾十個標籤頁。如何循環選項卡上的選項卡?

我需要循環瀏覽frmClients上的每個選項卡頁面,Debug.Print選項卡名稱,修改某些標籤,然後繼續下一步。

(我沒有訪問frmLoad任何其他選項卡,我只提到它的情況下,我們完全限定的一切。)

我一直在閱讀的文檔是令人困惑的。首先,我不確定頁面和Tab之間的區別。

回答

2

您可以參考frmClients的Controls集合中的Tab頁面。


在標準模塊中運行它,它將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或者,如果你想從窗體的代碼模塊中引用Label.Caption使用ME使用窗體()引用。

enter image description here enter image description here

+0

這幫助,但* .Controls( 「frmClients」)*沒有工作。我不得不使用* .Controls(「Child282」)*。 –

相關問題