Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 6/2005.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

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

Techniken

Formulare, VBA

Voraussetzungen

Access 97 und höher

Beispieldateien

FormulareOeffnen97.mdb
FormulareOeffnen00.mdb

Formulare öffnen

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.

Möglichkeiten zum Öffnen von Formularen

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.

DoCmd.OpenForm -
der Tausendsassa

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:

Abb. 1: Formular mit Datensatz

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

Abb. 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.

Neuen Datensatz anlegen

Wenn Sie einen neuen Datensatz in ein Formular eingeben möchten, können Sie ein Formular einfach öffnen und dann mit der entsprechenden Schaltfläche zu einem neuen Datensatz springen. Die DoCmd.OpenForm-Anweisung erledigt diese beiden Schritte in einem: Dazu verwenden Sie einfach den Parameter DataMode mit dem Wert acFormEdit:

DoCmd.OpenForm "frmPersonen", _
    DataMode:=acFormEdit

Das Ergebnis dieses Aufrufs zeigt Abb. 2.

Abb. 2: Leeres Formular dank DataMode-Parameter

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Verwandte Beiträge:

Ereignisprozeduren

Ereignisprozeduren implantieren

Modale Dialoge mal anders

Formularposition speichern und wiederherstellen

Ereignisse im Eigenbau

Unterformulare: Daten anlegen und löschen

Zugriff auf Formulare

Formulare im Blickpunkt

© 2003-2015 André Minhorst Alle Rechte vorbehalten.