如何使用变量引用子表单?

时间:2014-11-20 22:21:39

标签: ms-access access-vba

我正在尝试通过变量引用子表单的属性,以便我可以遍历不同的子表单名称。通过很多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,这可以正常工作,但这没什么好玩的。

谢谢!

1 个答案:

答案 0 :(得分:1)

在这种情况下" Bang符号" (foo!thing)指的是表单中 Field 的值(即表单的Recordset),而"点符号" (foo.thing)始终引用属于对象的属性,方法和集合。所以,

Me!Controls

等于

Me.Fields("Controls").Value

ControlsCollectionControl个对象,而不是字段名称。因此我们需要使用

Me.Controls
相关问题