waanders
waanders

Reputation: 9083

Retrieve list of forms in an Access database

How can I retrieve a list of all forms in a MS-Access database?

To retrieve a list of all tables I use this:

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

Also see this issue.

But I can't do this for forms.

Upvotes: 5

Views: 9307

Answers (1)

Fionnuala
Fionnuala

Reputation: 91366

You can use AllForms for a list of names. These are not instances of forms, just names.

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

Upvotes: 8

Related Questions