VBA für Access

Das Objektmodell von Access: Öffnen und Schließen von Formularen

∅ 3.4 / 6 Bewertungen

Öffnen und Schließen von Formularen

Wie kann ich ein Formular öffnen? Wie kann ich ein Formular schließen?

Die beiden Möglichkeiten, ein Formular zu öffnen

' Variante 1
DoCmd.OpenForm "Kunden"
' Variante 2
Dim frmF as Form
Set frmF = New Form_Rechnungen
frmF.Visible = True

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.

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:

Dim frmF As Form_Formularname

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:

frmF.Visible = True

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.

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.