好吧,當我按下特定的按鈕時,我想循環遍歷所有窗體,然後在每個窗體中找到每個窗體的標籤'TESTING'。如果tag ='TESTING',那麼我想將對象的標題改爲'abc123'。微軟訪問 - 通過所有窗體和每個窗體上的控件循環
標籤'TESTING'的唯一對象將是標籤,因此它們將具有標題屬性。
到目前爲止,我有這個作爲功能:
Public Function changelabel()
On Error Resume Next
Dim obj As AccessObject, dbs As Object
Dim ctrl as Control
Set dbs = Application.CurrentProject
For Each obj In dbs.AllForms
DoCmd.OpenForm obj.Name, acDesign
For Each ctrl In Me.Controls
If ctrl.Tag = "TESTING" Then
ctrl.Caption = "abc123"
End If
Next ctrl
Next obj
End Function
然後以此爲按鈕代碼:
Public Sub TestButton_Click()
Call changelabel
End Sub
所以它執行的第一個for循環,並能正確打開在設計視圖中的所有形式。問題在於第二個循環。沒有任何標籤標籤的標籤屬性爲'TESTING'變爲'abc123'。
那麼,我需要改變以獲得第二個循環的工作?
您使用我在打開的形式在設計模式下。您需要將其打開成表單對象或引用它,我是代碼所在的加載表單。 –
@Nathan_Sav完美,這正是我的代碼有什麼問題..我已經將它從Me.Controls更改爲Form(obj.Name).Controls,它現在似乎正在工作。謝謝! – Alex