我正在尝试通过变量引用子表单的属性,以便我可以遍历不同的子表单名称。通过很多google-fu我认为我很接近,但它一直说它无法找到“控制”字段。
f = "[TerritoryCode] = """ & tcode & """"
strsubform = "subDM" & loopnumber
Me!Controls(strsubform).Form.Filter = f
Me!Controls(strsubform).Form.FilterOn = True
所以strsubform应该继续产生类似“subDM1”,“subDM2”等的东西,然后它将通过变量f进行过滤。如果我直接引用subDM1,这可以正常工作,但这没什么好玩的。
谢谢!
答案 0 :(得分:1)
在这种情况下" Bang符号" (foo!thing
)指的是表单中 Field 的值(即表单的Recordset),而"点符号" (foo.thing
)始终引用属于对象的属性,方法和集合。所以,
Me!Controls
等于
Me.Fields("Controls").Value
但Controls
是Collection
个Control
个对象,而不是字段名称。因此我们需要使用
Me.Controls