2014-11-20 12 views
1

我想通過一個變量引用子窗體的屬性,以便我可以循環通過不同的子窗體名稱。通過很多谷歌福,我認爲我很接近,但它一直說它無法找到「控件」字段。如何引用具有變量的子窗體?

f = "[TerritoryCode] = """ & tcode & """" 
    strsubform = "subDM" & loopnumber 
    Me!Controls(strsubform).Form.Filter = f 
    Me!Controls(strsubform).Form.FilterOn = True 

所以strsubform應該繼續生產類似「subDM1」,「subDM2」等,然後它會通過變量f進行過濾。如果我直接引用subDM1,這工作得很好,但這沒什麼好玩的。

謝謝!

+0

嘗試使用'Me.Controls'而不是'Me!Controls',看看它是否更好。 – 2014-11-20 22:35:34

+0

老兄!把這個作爲答案,我會檢查你! – mythstified 2014-11-20 22:38:05

回答

1

在這種情況下,「砰符號」(foo!thing)是指的Form中的值(即表的記錄),而「點號」(foo.thing)總是指的屬性,方法和屬於一個對象的集合。所以,

Me!Controls 

相當於

Me.Fields("Controls").Value 

ControlsControlCollection對象,而不是一個字段名。因此,我們需要使用

Me.Controls