2016-11-10 2 views
0

Моя форма доступа «frmLoad» имеет пять страниц с вкладками. На одной из этих страниц есть подформация «frmClients» с несколькими десятками страниц с вкладками.Как перемещаться между вкладками на вкладке?

Мне нужно прокрутить каждую вкладку на странице frmClients, Debug.Print имя вкладки, изменить определенные метки и перейти к следующему.

(я не имею доступ к любым другим язычки frmLoad, я только упомянуть об этом в случае, если мы должны полностью определить все.)

Документация Я начиталась сбивает с толку. Я не уверен в различии между страницей и вкладкой, с одной стороны.

ответ

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 от внешней формы или использовать меня, если вы хотите, чтобы ссылаться на Label.Caption внутри модуля кода формы.

enter image description here enter image description here

+0

Это помогло, но * .Controls ("frmClients") * не работает. Вместо этого я должен был использовать * .Controls («Child282») *. –

Смежные вопросы