4

MS-Access データベース内のすべてのフォームのリストを取得するにはどうすればよいですか?

すべてのテーブルのリストを取得するには、これを使用します。

For Each TDef In CurrentDb.TableDefs
    If Left(TDef.Name, 4) <> "MSys" And Left(TDef.Name, 7) <> "~TMPCLP" Then
        Debug.Print TDef.Name
    End If
Next

この問題も参照してください。

しかし、フォームに対してこれを行うことはできません。

4

1 に答える 1

6

名前のリストには AllForms を使用できます。これらはフォームのインスタンスではなく、単なる名前です。

Sub ListForms()
Dim frm As Object
Dim LiveForm As Form

    For Each frm In CurrentProject.AllForms
        Debug.Print frm.Name
        ''To use the form, uncomment
        ''DoCmd.OpenForm frm.Name, acViewDesign
        ''Set LiveForm = Forms(frm.Name)
        ''Do not forget to close when you are done
        ''DoCmd.Close acForm, frm.Name
    Next
End Sub
于 2012-07-20T09:13:42.570 に答える