AllForms コレクション

Microsoft Access Visual Basic のリファレンス

AllForms コレクション

複数のオブジェクト
AllForms
AccessObject
AccessObjectProperties

AllForms コレクションには、CurrentProject または CodeProject オブジェクトの各フォームに対する AccessObject オブジェクトが含まれます。

使い方

CurrentProject および CodeProject オブジェクトには、データベースのすべてのフォームのインスタンスを設定する AccessObject オブジェクトを含む AllForms コレクションがあります。たとえば、Visual Basic で AllForms コレクションを列挙して、コレクションの各 AccessObject オブジェクトのプロパティの値を設定または取得することができます。

ヒント

For Each...Next ステートメントは、コレクションを列挙するのに便利です。

AllForms コレクションの各 AccessObject オブジェクトは、そのオブジェクトの名前またはコレクションで付けられたインデックスを使って参照できます。AllForms コレクションの特定のオブジェクトを参照する場合、フォームのコレクションのインデックスは変わる可能性があるので、フォームの名前で参照することをお勧めします。

AllForms コレクションには、0 から始まるインデックスが付けられます。インデックスでフォームを参照する場合、最初のフォームは AllForms(0)、2 番目のフォームは AllForms(1) というように指定します。

メモ データベースの開いているフォームをすべて表示するには、AllForms コレクションの各 AccessObject オブジェクトの IsLoaded プロパティを使用します。その後、各 AccessObject オブジェクトの "Name/名前" プロパティを使用してフォームの名前を取得します。

AllForms コレクションから AccessObject オブジェクトを追加または削除することはできません。

次の使用例では、AllForms コレクションで開いている AccessObject オブジェクトの名前を印刷します。

Sub AllForms()

    Dim obj As AccessObject, dbs As Object
    Set dbs = Application.CurrentProject
    ' AllForms コレクションの開いている AccessObject オブジェクトを検索します。
    For Each obj In dbs.AllForms
        If obj.IsLoaded = True Then
            ' オブジェクト名を印刷します。
            Debug.Print obj.Name
        End If
    Next obj

End Sub