Referenzen und Bibliotheken

André Minhorst, Duisburg

Microsoft Access bietet eigentlich alles, was das Datenbankentwicklerherz begehrt – zumindest solange, bis der Access-Entwickler einen Blick über den Tellerrand wagt und sieht, was mit Access noch alles möglich ist. Denn Access kann so ziemlich alle Anwendungen, auf deren Objektmodell es per VBA zugreifen kann, steuern und mit ihnen kommunizieren – ob mit Word, Excel, Outlook oder anderen Produkten. Und auch die Funktionalität anderer bestehender Datenbanken lässt sich unter Access durch das Setzen eines einfachen Verweises auf eine so genannte Bibliothek wieder verwenden. Im vorliegenden Beitrag erfahren Sie, was es mit diesen Bibliotheken auf sich hat, welche Möglichkeiten es zum Setzen von Verweisen gibt und wie Sie dabei entstehende Probleme elegant umschiffen können.

Access, Word, Excel, Outlook und viele andere Anwendungen, die übrigens nicht zwangsläufig aus Redmond stammen müssen, haben eines gemeinsam: Die Funktionalität dieser Anwendungen befindet sich in der Regel in einer oder mehreren Dynamic Link Libraries (DLLs), Objekt Libraries (OLBs), ActiveX Controls (OCX) oder Dateien ähnlichen Dateityps. Dabei beinhaltet jede dieser Dateien Funktionen zu einem bestimmten Anwendungsgebiet.

So hat z. B. Microsoft Word eine umfangreiche Bibliothek mit allen möglichen Funktionen zum Bearbeiten von Texten (MSWORD.OLB).

Hinweis

Auch Windows enthält einige DLLs, die Funktionen für Bereiche wie Benutzeroberfläche, Dateioperationen, Textausgaben etc. beinhalten. Der Begriff für die Gesamtheit dieser Bibliotheken lautet Application Programming Interface (API).

Sie können sowohl die Bibliotheken mit den Systemfunktionen von Windows als auch die Objektbibliotheken der unterschiedlichen Anwendungen mit Hilfe von VBA in Access verwenden.

Die Einbindung der beiden Bibliotheksarten unterscheidet sich jedoch grundlegend: Während Sie die Windows-Funktionen im Code zunächst deklarieren und anschließend per Funktionsaufruf verwenden können, bieten die Objektbibliotheken von Anwendungen wesentlich mehr Komfort:

Nach dem Einbinden der gewünschten Bibliothek durch Setzen eines entsprechenden Verweises können Sie die Objekte, Eigenschaften und Methoden des jeweiligen Objektmodells genauso verwenden wie die Objekte, die Sie bisher in Access verwendet haben.

Dabei basieren die Funktionen, die Sie tagtäglich bei der Entwicklung von Access-Datenbanken verwenden, genauso auf per Verweis eingebundene Objektbibliotheken. Unter Access sind standardmäßig die Bibliotheken Visual Basic For Applications, Microsoft Access x.0 Objekt Library und Microsoft DAO x.xx Object Library (Access 97) oder Microsoft ActiveX Data Objects 2.1 Library und OLE Automation (beide Access 2000 und höher) eingebunden.

Mit einem Verweis auf eine der Objektbibliotheken wie z. B. von Word (Microsoft Word x.0 Object Library) können Sie diese Anwendung komplett steuern.

Bibliothek für eigene Funktionen

Auch Access-Datenbanken können Sie als Bibliothek einsetzen: Wenn im Laufe Ihrer Arbeit mit Access z. B. eine umfangreiche Sammlung von Prozeduren oder Funktionen entstanden ist, haben Sie entweder bereits eine Datenbank mit den gesammelten Werken – oder Sie wünschen, dass Sie eine hätten.

Eine solche Sammlung hätte den Vorteil, dass Sie die Datenbank einfach in andere Datenbanken einbinden könnten und auf ihre Funktionen und Prozeduren zugreifen könnten, als wenn sie sich in der gleichen Datenbank befinden.

Mit einem kleinen Trick ist es sogar möglich, auch andere Objekte wie Formulare oder Berichte auf diese Weise verfügbar zu machen.

Der wesentliche Schritt für Access auf dem Weg vom Einzelkämpfer zum Teamplayer besteht im Anlegen eines geeigneten Verweises.

Verweis auf Objektbibliotheken

Sie verfügen über Microsoft Access und mindestens eine weitere Anwendung, die Sie gerne von Access aus steuern oder deren Funktion Sie in Access verwenden möchten

Dann fehlt nur noch ein Verweis auf die gewünschte Anwendung. Zum Setzen eines Verweises gehen Sie folgendermaßen vor:

  • Wechseln Sie in den VBA-Modus von Access. Dazu verwenden Sie beispielsweise die Tastenkombination Strg + G.
  • Wählen Sie im Menü Extras den Eintrag Verweise aus, um den gleichnamigen Dialog zu öffnen (siehe Bild 1).
  • Wählen Sie aus der Liste Verfügbare Verweise den gewünschten Verweis durch Setzen eines Häkchens aus.
  • Klicken Sie auf die Schaltfläche OK, um die Eingabe zu beenden. (
  • Bild 1: Dialog zum Setzen von Verweisen

    Wenn Sie hier beispielsweise den Eintrag Microsoft x.0 Object Library aktivieren, können Sie im VBA-Editor leicht auf die Objekte von Word zugreifen.

    Wie das funktioniert, sehen Sie, wenn Sie die Beispielprozedur aus Bild 2 eingeben. Der Editor bietet die Elemente der Objektbibliothek nach der Eingabe des Hauptobjekts Word zur Auswahl an.

    Bild 2: Das Word-Objektmodell im Einsatz

    Verweis auf andere Datenbanken

    Wenn Sie eine Datenbank mit einer Sammlung oft verwendeter Funktionen und Prozeduren Ihr Eigen nennen, können Sie diese auch in anderen Access-Datenbanken verfügbar machen.

    Dazu gehen Sie ähnlich wie beim Setzen eines herkömmlichen Verweises vor. Die Auswahl des Verweises selbst ist allerdings etwas aufwändiger: Da die Datenbank nicht als Objektbibliothek, DLL o. ä. registriert ist, müssen Sie die Datenbank selbst auswählen.

    Dazu klicken Sie im Dialog Verweise auf die Schaltfläche Durchsuchen… und wählen dort die entsprechende Bibliotheksdatenbank aus.

    Wenn eine Datenbankanwendung einen Verweis auf eine Bibliothek enthält und die referenzierte Datei aus irgendeinem Grund nicht an dem angegebenen Ort gefunden wird, versucht Access zunächst selbst, die Bibliothek an einem anderen Ort zu finden.

    Dabei bezieht Access die folgenden Verzeichnisse in die Suche ein:

  • das Verzeichnis, in dem Access installiert ist
  • die Verzeichnisse Windows und Windows\System
  • die in der Umgebungsvariablen Path angegebenen Verzeichnisse
  • benutzerdefinierte Verweispfade (s. Abschnitt 0)
  • Wenn Access die gesuchte Bibliothek dort immer noch nicht findet, erscheint eine entsprechende Fehlermeldung.

    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