AllForms オブジェクト (Access)
AllForms コレクションには、CurrentProject オブジェクトまたは CodeProject オブジェクト内の各フォームの AccessObject オブジェクトが含まれています。
CurrentProject および CodeProject オブジェクトには、データベースのすべてのフォームのインスタンスを設定する AccessObject オブジェクトを含む AllForms コレクションがあります。 たとえば、Visual Basic で AllForms コレクションを列挙して、コレクションの各 AccessObject オブジェクトのプロパティの値を設定または取得することができます。
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
' 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 のサポートおよびフィードバックを参照してください。