Formulare öffnen

Zusammenfassung

Lernen Sie die verschiedenen Möglichkeiten zum öffnen von Formularen kennen.

Techniken

Formulare, VBA

Voraussetzungen

Access 97 und höher

Beispieldateien

FormulareOeffnen97.mdbFormulareOeffnen00.mdb

André Minhorst, Duisburg

Eines der meistverwendeten Elemente der Benutzungsoberfläche einer Access-Anwendung sind Formulare. Dementsprechend wichtig ist es, die Vorgehensweise zum öffnen von Formularen zu verinnerlichen und die Möglichkeiten optimal auszuschöpfen.

Es gibt drei Möglichkeiten, ein Formular zu öffnen: per Doppelklick auf den entsprechenden Eintrag im Datenbankfenster, mit der Anweisung DoCmd.OpenForm oder durch Instanzieren des Formulars als Objekt und anschließendes Sichtbarmachen.

Die erste Variante sollte in Anwendungen, die diese Bezeichnungen zu Recht tragen wollen, nicht praktiziert werden. Das Datenbankfenster erscheint dort noch nicht einmal, daher lassen sich auf diese Weise auch Objekte der Datenbank nicht öffnen. Während der Entwicklung oder bei Anwendungen, die man in den eigenen vier Wänden benutzt, ist diese Vorgehensweise sicher in Ordnung, sollte aber sonst vermieden werden.

VB- und andere Entwickler erzeugen zunächst eine Instanz eines Formulars und zeigen dieses dann an – unter Access ist diese Vorgehensweise alles andere als gängig.

Der Grund dafür ist die OpenForm-Methode des DoCmd-Objekts. Es liefert alle für das öffnen eines Formulars notwendigen Parameter und wird vermutlich in 99,9 % aller Fälle eingesetzt, bei denen VBA im Spiel ist.

Mit der DoCmd.OpenForm-Anweisung lassen sich Formulare öffnen und dabei alle wichtigen Parameter einstellen – wobei die Minimallösung nur einen einzigen Parameter benötigt.

Zum einfachen öffnen eines Formulars reicht nämlich die folgende Anweisung aus:

DoCmd.OpenForm <Formularname>

Parameter verwenden

Gerade Anweisungen mit vielen optionalen Parametern wie auch die DoCmd.OpenForm-Anweisung machen den Einsatz von benannten Parametern sinnvoll.

üblicherweise geben Sie die Parameter einer Anweisung durch Kommata getrennt in der vorgegebenen Reihenfolge ein, Sie können allerdings auch eine andere Reihenfolge verwenden, wenn Sie den Namen der verwendeten Parameter mit angeben.

Beim Einsatz benannter Parameter geben Sie die gewünschten Parameter in beliebiger Reihenfolge und durch Kommata getrennt in der Form <Parametername>:=<Parameterwert> an. Beispiel:

DoCmd.OpenForm FormName:="frmPersonen", OpenArgs:="Beispielöffnungsargument"

Im weiteren Verlauf dieses Beitrags kommen mit Ausnahme des Pflichtparameters FormName ausschließlich benannte Argumente zum Zuge.

Datensatz beim öffnen angeben

Bei gebundenen Formularen, das heißt bei Formularen, die an eine Datenherkunft gebunden sind und deren Daten anzeigen, ist es oft erforderlich, direkt nach dem öffnen einen bestimmten Datensatz anzuzeigen.

Das lässt sich mit einem einzigen zusätzlichen Parameter in der DoCmd.OpenForm-Anweisung erreichen: dem Parameter WhereCondition.

Dieser Parameter akzeptiert die gleichen Ausdrücke, die man in SQL-Anweisungen hinter dem WHERE-Schlüsselwort findet, also beispielsweise PersonID = 12 oder Vorname = ”André”.

In der Beispieldatenbank finden Sie ein Formular namens frmPersonen, das jeweils die Detaildaten zu einer Person anzeigt. Um das Formular zu öffnen und einen bestimmten Datensatz direkt anzuzeigen, verwenden Sie folgende Anweisung:

Bild 1: Formular mit Datensatz

DoCmd.OpenForm FormName:="frmPersonen", WhereCondition:="PersonID = 2009"

Bild 1 zeigt das Formular mit dem gewünschten Datensatz.

Neuer Datensatz oder bestehende Daten bearbeiten

Der DataMode-Parameter bietet unter anderem die Möglichkeit, direkt beim öffnen des Formulars einen neuen Datensatz anzuzeigen, einen Datensatz zum Bearbeiten oder nur zum Betrachten schreibgeschützt zu öffnen.

Durch die unterschiedlichen Parameter werden die vier Eigenschaften Bearbeitungen zulassen, Löschen zulassen, Anfügen zulassen und Daten eingeben eingestellt.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar