MS Access列表中的类对象(如控件集合)

时间:2018-04-25 12:15:06

标签: ms-access access-vba

我有一个表单,我从自定义类模块动态实例化对象。 生成的对象是公共定义的,然后我可以通过Forms("Formname").objName1.Property

访问模块

我也想动态访问对象,就像在控件集合中一样:Forms("Formname").Controls("objName" & ID).Property 但是没有对象的集合。

有人有意见吗?

1 个答案:

答案 0 :(得分:1)

您可以使用可公开访问的集合,例如

Dim myObjects As Collection

Private Sub Form_Load()
    Set MyObjects = New Collection
    MyObjects.Add Obj1, "First Object"
    MyObjects.Add Obj2, "Second Object"
End Sub

然后,在全球范围内:

Forms("MyForm").MyObjects("First Object").Property

当然,如果你真的想做一些奇特的东西,你可以使用custom collection class,这样你就可以对这个类有更多的控制权,并对其成员有智能感知。