AllForms 对象 (Access)

AllForms 集合包含 CurrentProject 或 CodeProject 对象中的每个窗体的 AccessObject 对象

备注

CurrentProjectCodeProject 对象具有一个 AllForms 集合,其中包含描述数据库中所有窗体的实例的 AccessObject 对象。 例如,可以在 Visual Basic 中列举 AllForms 集合来设置或返回该集合中单个 AccessObject 对象的属性值。

通过按名称引用对象或在集合中引用其索引来引用 AllForms 集合中的单个 AccessObject 对象。 如果要引用 AllForms 集合中特定的对象,最好按照名称引用窗体,因为窗体的集合索引可能会更改。

AllForms 集合的索引是从零开始的。 如果通过索引引用窗体,则第一个窗体是 AllForms(0),第二个窗体是 AllForms(1),依此类推。

注意

若要列出数据库中所有打开的窗体,请使用 AllForms 集合中每个 AccessObject 对象的 IsLoaded 属性。 然后,可以使用每个 AccessObject 对象的 Name 属性返回窗体的名称。

不能在 AllForms 集合中添加或删除 AccessObject 对象。

示例

下面的示例打印 AllForms 集合中每个打开的 AccessObject 对象的名称。

Sub AllForms() 
    Dim obj As AccessObject, dbs As Object 
    Set dbs = Application.CurrentProject 
    ' Search for open AccessObject objects in AllForms collection. 
    For Each obj In dbs.AllForms 
        If obj.IsLoaded = True Then 
            ' Print name of obj. 
            Debug.Print obj.Name 
        End If 
    Next obj 
End Sub

以下示例演示如何阻止用户直接从导航窗格打开特定窗体。

'Don't let this form be opened from the Navigator
If Not CurrentProject.AllForms(cFormUsage).IsLoaded Then
    MsgBox "This form cannot be opened from the navigation pane.", _
        vbInformation + vbOKOnly, "Invalid form usage"
    Cancel = True
    Exit Sub
End If

属性

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。