Assistenten und Add-Ins selbst gebaut

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

André Minhorst, Duisburg

Assistenten sind eigentlich etwas für Anfänger. Ein Profi macht alles selbst, da er alles hundertprozentig unter Kontrolle haben möchte und die Assistenten sowieso immer viel mehr Code und andere Nebenprodukte erzeugen als alles andere. Stop! Bevor weitere Vorurteile gegen Assistenten geschürt werden, stellen Sie sich doch einmal vor, es gäbe extrem nervige und vor allem immer wiederkehrende Aufgaben, die Sie am liebsten zum Teufel jagen würden. Das kennen Sie Und kein Assistent in der Nähe Dann bauen Sie sich doch einfach selbst einen!

Assistenten sind nichts anderes als Datenbankdateien mit einem speziellen Format, die von der gewünschten Datenbank aus aufgerufen werden können.

Das spezielle Format ist im Wesentlichen durch eine besondere Tabelle und eine Funktion zum Aufruf der Funktionalität des Assistenten gekennzeichnet.

Die Tabelle beinhaltet einige Informationen, die beim Hinzufügen des Assistenten in die Registry von Windows eingetragen werden.

Die Funktion beinhaltet die Anweisungen, die zum Ausführen des Assistenten bei seinem Aufruf erforderlich sind. Dabei kann es sich um das öffnen eines Formulars, aber auch einfach um die Abfolge einiger Anweisungen handeln.

Sicher sind Sie bei Ihrer alltäglichen Arbeit schon mit einer Reihe von Assistenten in Berührung gekommen. Diese Assistenten können in folgende Gruppen gegliedert werden:

  • Menü-Add-Ins
  • Formular- und Berichtsassistenten
  • Tabellen- und Abfrageassistenten
  • Steuerelement- und Eigenschaftsassistenten
  • Die folgenden Abschnitte enthalten einige Beispiele und Besonderheiten der jeweiligen Art von Assistenten.

    Menü-Add-Ins

    Der Aufruf von Menü-Add-Ins erfolgt über den Menüpunkt Extras/Add-Ins/Name des Assistenten. Dort finden Sie – je nach Access-Version – bereits einige Assistenten.

    Unter Access 97 bietet sich beispielsweise das Bild aus Bild 1. Falls Sie diese Einträge in höheren Access-Versionen suchen sollten, versuchen Sie es besser in den anderen Untermenüs des Menüs Extras.

    Den ersten Eintrag der Add-In-Liste werden Sie später noch im Detail kennen lernen. Der Add-In-Manager dient nämlich zum Registrieren und damit zum Bereitstellen neuer Assistenten.

    Der Add-In-Manager ist in neueren Versionen von Access der einzige Eintrag unter dem Menüpunkt Extras/Add-Ins. Die anderen Add-Ins befinden sich dort in anderen Untermenüs.

    Bild 1: Aufruf eines Menü-Add-Ins

    Alle Access-Versionen seit Access 97 haben aber gemein, dass neu hinzugefügte Menü-Add-Ins auch über das dafür vorgesehene Menü aufgerufen werden können.

    Bild 2: Assistenten zur Erstellung von Formularen

    Bild 3: Aufruf von Assistenten für die Erstellung neuer Tabellen

    Die Gemeinsamkeit aller Menü-Add-Ins ist, dass sie keiner der anderen Add-In-Gruppen zugeordnet werden können. Daher finden sie an dieser sehr globalen Stelle innerhalb der Menüstruktur von Access ihr Zuhause.

    Formular- und Berichtsassistenten

    Formular- und Berichtsassistenten heißen die kleinen Helfer, die dem Access-Neuling die Arbeit beim Erstellen seiner ersten Formulare und Berichte abnehmen.

    Diese Assistenten stehen im Dialog Neues Formular bzw. Neuer Bericht zur Verfügung (siehe Bild 2). Alle Einträge außer dem ersten, der die Entwurfsansicht des neuen Objekts anzeigt, dienen dem Aufruf von Assistenten für unterschiedliche Zwecke.

    Tabellen- und Abfrageassistenten

    Für Tabellen und Abfragen gilt das Gleiche wie für Formulare und Berichte: Die Assistenten, die dem Anwender bei der Erstellung von Tabellen oder Abfragen behilflich sind, werden über den Dialog zum Anlegen einer neuen Tabelle oder Abfrage aufgerufen (siehe Bild 3).

    Die hier angebotenen Assistenten dienen dem Erstellen, Importieren und Verknüpfen von Tabellen.

    Steuerelement- und Eigenschaftsassistenten

    Die Steuerelement- und Eigenschaftsassistenten finden Sie überall, wo Steuerelemente platziert oder Eigenschaften eingestellt werden können – also primär in Formularen und Berichten.

    Steuerelementassistenten

    Steuerelementassistenten sind nicht wie die anderen Assistenten über eine Liste auszuwählen. Sie können lediglich einstellen, dass beim Anlegen eines Steuerelements ein entsprechender Assistent ausgeführt wird – falls einer vorhanden ist. Um das einzustellen, klicken Sie in der Toolbox auf die Schaltfläche mit dem Zauberstab (siehe Bild 4).

    Bild 4: Aktivierung des Steuerelementassistenten

    Bild 5: Aufruf eines Eigenschaftsassistenten

    Wenn Sie anschließend auf eines der Steuerelemente in der Toolbox klicken, wird der entsprechende Assistent – wenn vorhanden – beim Platzieren des gewünschten Steuerelements auf dem Formular oder Bericht gestartet.

    Eigenschaftsassistenten

    Eigenschaftsassistenten sind nur für bestimmte Eigenschaften verfügbar. In der Regel handelt es sich dabei um Eigenschaften, die komplizierte Ausdrücke als Wert annehmen können. Gibt es für eine Eigenschaft einen Assistenten, erscheint bei der Aktivierung der Eigenschaft eine Schaltfläche mit drei Punkten (…) rechts neben dem Textfeld zur Eingabe des Eigenschaftswertes (siehe Bild 5).

    Um Sie nicht nur mit Theorie zu langweilen, steht wie üblich ein passendes Beispiel zur Verfügung.

    Dabei handelt es sich um die Datenbank, deren Entwicklung im Beitrag Listenfeldbeschriftung per Assistent der vorliegenden Ausgabe von Access im Unternehmen beschrieben wird.

    Da dieser Assistent eine speziell für Formulare vorgesehene Funktionalität enthält, wird sein Einsatz später erläutert.

    Für Beispielzwecke erstellen Sie nun eine neue Datenbank, mit der Sie alle Schritte von der jungfräulichen Datenbank bis zum einsatzbereiten Assistenten durchführen werden.

    Erstellen der Beispieldatenbank

    Die erste Beispieldatenbank soll lediglich ein Meldungsfenster mit einem beliebigen Text anzeigen, um die Funktionalität des Aufrufs des Assistenten nachzuweisen.

    Gehen Sie folgendermaßen vor, um die Beispieldatenbank zu erstellen:

  • Legen Sie eine neue Datenbank unter dem Namen Assistent.mdb an.
  • Wechseln Sie im Datenbankfenster in das Register Module.
  • Legen Sie ein neues Modul an und fügen Sie die Prozedur aus Quellcode 1 ein.
  • Speichern Sie das Modul unter dem Namen mdlAssistent. (
  • Public Function Meldungsfenster()
        MsgBox "Der Assistent lebt!"
    End Function

    Quellcode 1

    Alle weiteren Schritte von der Datenbank bis zum einsatzbereiten Assistenten finden Sie in den folgenden Kapiteln.

    Die Erstellung eines Assistenten aus einer herkömmlichen Datenbank erfordert einige Arbeitsschritte und das genaue Verständnis der Funktion zum Aufruf eines Assistenten.

    Sehr wichtig ist, dass Sie wissen, wie die für die Verwendung einer Datenbank als Assistent benötigten Einträge in die Registry von Windows erfolgen – ohne diese wird der Assistent sich nicht einen Millimeter bewegen.

    Assistenten und die Registry

    Zur Verwendung eines Assistenten sind einige Informationen erforderlich, die in der Registry von Windows gespeichert werden müssen. Dazu gehören die Folgenden:

  • Art des Assistenten (Add-In, Formular/Bericht, Tabelle/Abfrage, Steuerelement/Eigenschaft)
  • Bei Steuerelement- und Eigenschaftsassistenten: Einsatzort des Assistenten
  • Funktion, die bei Aktivierung des Assistenten aufgerufen werden soll
  • Das Vorbereiten eines Assistenten auf seinen Datenbankeinsatz erfordert neben dem Anlegen der Werte in der Registry das Speichern der Datenbank, die als Assistent dienen soll, in einem bestimmten Verzeichnis.

    Bei diesem Verzeichnis handelt es sich um das Verzeichnis Office (Office 97), Office\1031 (Office 2000) bzw. Office10 (Office XP), das jeweils unterhalb des Office-Installationsordners liegt.

    Praxis-Tipp

    Den Pfad zur Speicherung der Add-In-Datenbanken finden Sie ganz einfach, indem Sie im Office-Installationsordner nach der Datei Utility.mda suchen.

    Assistent von Hand registrieren

    Theoretisch können Sie Assistenten von Hand einsatzbereit machen. Access stellt aber – wie sollte es anders sein – auch für diese Aufgabe einen Assistenten zur Verfügung. Sie ahnen es:

    Es handelt sich um den Add-In-Manager aus dem Menü Extras/Add-Ins.

    Er nimmt Ihnen aber nicht die ganze Arbeit ab. Neben der Erstellung der Funktionalität der zum Assistenten umzuwandelnden Datenbank müssen Sie auch die entsprechenden Registry-Einträge vorbereiten, indem Sie diese in eine geeignete Tabelle eintragen.

    Hinweis

    “Warum soll ich die Registry erst umständlich in eine Tabelle eintragen, wenn ich doch die änderungen direkt in der Registry selbst durchführen kann”, fragen Sie sich jetzt vermutlich. Die Erklärung ist einfach: Wenn Sie die erforderlichen Daten einmal in der Tabelle USysRegInfo in der entsprechenden Datenbank gespeichert haben, können Sie diese wieder und wieder mit wenigen Mausklicks als Assistent registrieren. Damit können Sie den Assistenten weitergeben und bei obligatorisch vorkommenden Neuinstallationen des Rechners schnell wieder installieren.

    Die Tabelle USysRegInfo

    Die für die Speicherung verantwortliche Tabelle muss in jedem Fall USysRegInfo heißen und hat ein ganz spezielles Format. Bild 6 zeigt die Entwurfsansicht und damit den Aufbau der Tabelle.

    Bild 6: Entwurfsansicht der Tabelle USysRegInfo

    Hinweis

    Die Tabelle USysRegInfo wird von Access als Systemtabelle eingestuft. Sie müssen daher in den Optionen von Access die Einstellung Systemobjekte aktivieren, um die Tabelle im Datenbankfenster zu sehen und zum Bearbeiten öffnen zu können.

    In Tab. 1 finden Sie die Beschreibung zu den einzelnen Feldern der Tabelle USysRegInfo.

    Feldname

    Beschreibung

    Subkey

    Schlüssel in der Registry

    Type

    Art des Schlüssels, kann die Werte 0 (key), 1 (string) oder 4 (DWORD) annehmen

    Valname

    Name des Registry-Wertes

    Value

    eigentlicher Wert

    Tab. 1: Felder der Tabelle USysRegInfo

    In den folgenden Abschnitten erfahren Sie, welche Registry-Schlüssel Sie für die Aktivierung der unterschiedlichen Arten von Assistenten in die Tabelle USysRegInfo schreiben müssen.

    Ein kurzer Blick in die Registry

    Zum Registrieren eines Add-Ins benötigen Sie Informationen über die Orte in der Registry, die für den Eintrag der neuen Schlüssel vorgesehen sind.

    Genau genommen sind die entsprechenden Schlüssel bereits vorhanden. Um sie in der Registry zu finden, gehen Sie einfach folgendermaßen vor:

  • öffnen Sie den Registrierungseditor, indem Sie im Startmenü den Eintrag Ausführen… auswählen und dort Regedit eingeben.
  • Wählen Sie den Eintrag Bearbeiten/Suchen aus der Menüleiste.
  • Füllen Sie die Suchmaske wie in Bild 7 aus.
  • Klicken Sie auf die Schaltfläche Weitersuchen. (
  • Bild 7: Suche nach einem Registry-Schlüssel

    Mit relativ hoher Wahrscheinlichkeit finden Sie auf diese Weise den richtigen Schlüssel. Der mit diesen Sucheinstellungen gefundene Schlüssel sieht vermutlich wie in Bild 8 aus. Die (zumindest unter Access 97) im Add-In-Menü verfügbaren Add-Ins sind hier bereits eingetragen.

    Wenn Sie den richtigen Schlüssel gefunden haben, können Sie ihn leicht von der Statuszeile des Registrierungs-Editors ablesen. Da Sie ihn aber nicht nur ablesen, sondern möglichst in die Zwischenablage kopieren möchten, um ihn von dort aus in die Tabelle USysRegInfo zu kopieren, verwenden Sie einfach den Menübefehl Bearbeiten ( Schlüsselnamen kopieren.

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

    Testzugang

    eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

    diesen und alle anderen Artikel mit dem Jahresabo

    Schreibe einen Kommentar