VBA für Access
Das Objektmodell von Access: Öffnen und Schließen von Formularen
Öffnen und Schließen von Formularen
Auf dieser Seite
Mit Bild
Wie kann ich ein Formular öffnen? Wie kann ich ein Formular schließen?
Mit Bild
Die beiden Möglichkeiten, ein Formular zu öffnen
Mit Bild
' Variante 1 DoCmd.OpenForm "Kunden" ' Variante 2 Dim frmF as Form Set frmF = New Form_Rechnungen frmF.Visible = True
Mit Bild
Für das Öffnen eines Formulars gibt es zwei Möglichkeiten: Die erste ist die Aktion DoCmd.OpenForm "Formular". Ein mit DoCmd.OpenForm geöffnetes Formular kann mit DoCmd.Close acForm, "Formular" wieder geschlossen werden.
Mit Bild
Die zweite Methode ist zwar etwas komplizierter, dafür aber flexibler. Dabei nützt man die Tatsache, dass jedes Formular, das bereits ein Modul hat, auch ein Objekt der Klasse Form_Formularname ist. Man kann daher eine Variable dieser Klasse deklarieren und anschließend ein neues Objekt dieser Klasse erstellen:
Mit Bild
Dim frmF As Form_Formularname
Mit Bild
Set frmF = New Form_Formularname
oder einfach:
Dim frmF As New Form_Formularname
Enthält der Formularname Zeichen, die in Visual Basic nicht zulässig sind (z.B. Leerzeichen), muss der gesamte Klassenname in eckigen Klammern geschrieben werden.
Anschließend muss das Formular aber noch über die Eigenschaft Visible eingeblendet werden:
Mit Bild
frmF.Visible = True
Mit Bild
Auf diese Weise können auch mehrere Instanzen des Formulars geöffnet werden. Um ein auf diese Weise geöffnetes Formular wieder zu schließen, setzt man die Objektvariable auf Nothing: Set frmF = Nothing.
Mit Bild
Gültigkeitsdauer von Variablen beachten!
Beachten Sie unbedingt die Gültigkeitsdauer von Variablen! Soll ein Formular auch nach dem Ende der laufenden Prozedur geöffnet bleiben, muss es entweder einer statischen Prozedurvariablen oder einer Modul- oder globalen Variablen zugewiesen werden.