Ms access 如何使用变量引用子窗体?

Ms access 如何使用变量引用子窗体?,ms-access,vba,Ms Access,Vba,我正试图通过变量引用子窗体的属性,以便可以循环使用不同的子窗体名称。通过谷歌搜索,我想我已经很接近了,但它一直说找不到“控件”字段 所以strsubform应该继续生成类似“subDM1”、“subDM2”之类的内容,然后它将通过变量f进行过滤。如果我直接引用subDM1,这就可以了,但这并不有趣 谢谢 在这种情况下,“Bang notation”(foo!thing)指表单中字段的值(即表单的记录集),而“dot notation”(foo.thing)始终指属于对象的属性、方法和集合。所以

我正试图通过变量引用子窗体的属性,以便可以循环使用不同的子窗体名称。通过谷歌搜索,我想我已经很接近了,但它一直说找不到“控件”字段

所以strsubform应该继续生成类似“subDM1”、“subDM2”之类的内容,然后它将通过变量f进行过滤。如果我直接引用subDM1,这就可以了,但这并不有趣

谢谢

在这种情况下,“Bang notation”(
foo!thing
)指表单中字段的值(即表单的记录集),而“dot notation”(
foo.thing
)始终指属于对象的属性、方法和集合。所以

我!控制
等同于

Me.Fields(“控件”).Value
但是
控件
控件
对象的
集合
,而不是字段名。因此,我们需要使用

Me.Controls

尝试
Me。控制
而不是
Me!控制
,看看效果是否更好。伙计!把这个作为答案,我来查一查!
  f = "[TerritoryCode] = """ & tcode & """"
  strsubform = "subDM" & loopnumber
  Me!Controls(strsubform).Form.Filter = f
  Me!Controls(strsubform).Form.FilterOn = True