Formular-Assistenten

Sie kennen sicher die verschiedenen Formular-Assistenten, mit denen Sie die verschiedensten Formulare automatisch erstellen können. Diese Assistenten nehmen einem die Arbeit ab, die Steuerelemente entsprechend einer zuvor ausgewählten Tabelle oder Abfrage in das Formular einzubauen. Aber tut einer dieser Assistenten genau das, was Sie sich wünschen Oder müssen Sie immer noch händisch nacharbeiten Falls ja, haben wir gute Nachrichten für Sie: Formular-Assistenten können Sie auch selbst bauen. Wie das funktioniert, zeigt der vorliegende Beitrag.

Unter Access 2003 und älter brauchen Sie nur zur Formular-Registerseite des Datenbankfensters zu wechseln und dort auf die Schaltfläche Neu zu klicken – schon erscheint der Dialog aus Bild 1, der die Auswahl eines der Formular-Assistenten erlaubt.

pic001.png

Bild 1: Auswahl der Formular-Assistenten unter Access 2003 und älter

Unter Access 2007 hat Microsoft die Menüstruktur ordentlich durcheinandergewirbelt. So sind einige der Assistenten direkt über das Ribbon verfügbar, und nur einige wenige Formular-Assistenten müssen noch über den von früheren Access-Versionen bekannten Dialog ausgewählt werden. Dieser verbirgt sich unter Access 2007 übrigens im Erstellen-Tab des Ribbons im Menüpunkt Weitere Formulare|Formular-Assistent (siehe Bild 2).

pic002.png

Bild 2: Unter Access 2007 findet man fast alle Formular-Assistenten gleich im Ribbon.

Eigener Formular-Assistent

Nun wollen wir, wie oben angekündigt, einen eigenen Formular-Assistenten entwickeln. Genaugenommen haben wir ein wenig übertrieben, denn dieser Beitrag beschreibt lediglich die grundlegenden Schritte. Nach der Lektüre können Sie .mda– oder .accda-Datenbankdateien erstellen, die vom Add-In-Manager von Access installiert werden und anschließend über den Dialog aus Bild 1 auswählen.

Dies löst dann eine Funktion aus, die Sie selbst festlegen können – und den Rest überlassen wir dann Ihnen. Sie können dann einen komplett eigenen Assistenten erstellen. Wie das aussehen kann, beschreiben wir im Beitrag Suchformular-Assistent (www.access-im-unternehmen.de/****) – bauen Sie diesen Assistenten einfach nach oder holen Sie sich dort einfach nur Anregungen.

Assistentbau im Überblick

Um einen Dummy-Formular-Assistenten an den Start zu bringen, sind die folgenden Schritte nötig:

  • Erstellen einer leeren Datenbankdatei und speichern dieser Datei mit der Endung .mda oder .accda (vorzugsweise .mda, da diese Endung sowohl von Access 2003 und älter als auch von Access 2007 und neuer erkannt wird)
  • Hinzufügen einer Tabelle namens USysRegInfo, welche die Informationen enthält, die beim Installieren des Add-Ins mit dem Add-In-Manager in die Registry geschrieben werden. Access liest diese Einträge später aus und erfährt so überhaupt erst, wo es welche Assistenten bereitstellen soll.
  • Erstellen einer VBA-Funktion, die beim Starten des Assistenten aus dem Dialog Neues Formular heraus aufgerufen werden soll.
  • Installieren des Add-Ins mit dem Add-In-Manager, sodass die .mda-Datei in das Verzeichnis der Access-Add-Ins kopiert und die Informationen aus der Tabelle USysRegInfo in die Registry geschrieben werden.

Anschließend sollte der Assistent bereits funktionieren – natürlich nur, wenn Sie alle kleinen Fallstricke kennen, auf die wir in den folgenden Abschnitten hinweisen.

Die Registry-Informationen

Der entscheidende Punkt beim Erstellen eines Add-Ins ist die Angabe der in die Registry einzutragenden Informationen in der Tabelle USysRegInfo.

Diese Tabelle müssen Sie zunächst erstellen. Sie sieht im Entwurf wie in Bild 3 aus. Achtung: Wenn Sie diese Tabelle angelegt und unter dem Namen USysRegInfo gespeichert haben, erscheint diese möglicherweise nicht im Datenbankfenster beziehungsweise im Navigationsbereich von Access.

pic003.png

Bild 3: Entwurf der Tabelle USysRegInfo

Der Grund ist, dass Access Objekte mit dem Präfix Usys genauso wie Msys als Systemobjekte interpretiert, die nur unter speziellen Bedingungen angezeigt werden. Sie müssen dazu die Eigenschaft Systemobjekte anzeigen in den Access-Optionen aktivieren.

Wenn Sie die Tabelle in der Datenblattansicht bearbeiten möchten, ohne ständig alle Systemtabellen zu sehen, können Sie diese allerdings auch über das Direktfenster des VBA-Editors (Strg + G) mit folgender Anweisung anzeigen:

DoCmd.OpenTable "USysRegInfo"

Nach dem Erstellen der Tabelle füllen Sie diese mit den entsprechenden Werten. Die Daten für unseren Dummy-Assistenten sehen wie in Bild 4 aus, das Ergebnis der Installation können Sie anschließend in der Registry begutachten (Windows-Startmenü, Ausführen…|Regedit). Hierzu sind einige Erläuterungen angebracht – zunächst zur Spalte Subkey. Diese enthält den Ort der Registry, an dem die Informationen der Tabelle eingetragen werden sollen.

pic004.png

Bild 4: Diese Daten landen nach dem Installieren des Add-Ins in der Registry.

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

TestzugangOder bist Du bereits Abonnent? Dann logge Dich gleich hier ein. Die Zugangsdaten findest Du entweder in der aktuellen Print-Ausgabe auf Seite U2 oder beim Online-Abo in der E-Mail, die Du als Abonnent regelmäßig erhältst:

Schreibe einen Kommentar