如果我运行以下代码:
For i = 0 To Application.Forms.Count - 1
Debug.Print Application.Forms(i).Name
Next i
我的结果非常奇怪。上面的代码只识别我已经打开或直接访问的表单(例如在中间窗口中使用?mFormName.name
)。
Access似乎没有看到其他表单对象或将它们包含在Application.Forms
中。这还包括按名称引用它们,例如Application.Forms("mFormName")
- 这也不起作用。
我有一些方法通过迭代各种形式运行,我想避免必须打开它们以便Access VBE以这种方式识别它们。
Application.Forms
似乎真的很不对劲。答案 0 :(得分:3)
是的,Application.Forms
集合仅包含已打开的表单。要遍历所有表单,您可以使用Application.CurrentProject.AllForms
集合。