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 3/2003.

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

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.

Grundlagen

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.

Funktionserweiterung per
Verweis

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 (s. Abb. 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. (
  • Abb. 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 Abb. 2 eingeben. Der Editor bietet die Elemente der Objektbibliothek nach der Eingabe des Hauptobjekts Word zur Auswahl an.

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

    Verweis ins Leere

    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.

    Die Fehlermeldung kann zwei Ausprägungen annehmen: entweder es erscheint die Fehlermeldung aus Abb. 4 oder eine Fehlermeldung mit dem Text Funktion steht in Ausdrücken nicht zur Verfügung. Letztere tritt oft in Zusammenhang mit eingebauten Access-Funktionen wie Links(), Rechts() oder Format() auf.

    Gründe für fehlerhafte Verweise

    Besonders häufig treten Probleme mit Verweisen auf, wenn Sie Access-Datenbanken in irgendeiner Weise - z. B. durch Weitergabe an Kunden etc. - auf einem anderen als dem Entwicklungsrechner verwenden. Dort können aus verschiedenen Gründen Probleme auftreten:

  • die Datei, auf die verwiesen wird, ist nicht vorhanden
  • die Datei liegt nicht in der benötigten Version vor
  • Erzeugen eines fehlerhaften
    Verweises

    Sie können das Auftreten eines fehlerhaften Verweises folgendermaßen reproduzieren:

  • Legen Sie eine neue, leere Datenbank namens Bibliothek.mdb an.
  • Erstellen Sie ein neues Modul und legen Sie dort die Funktion aus Quellcode 1 an.
  • Speichern und schließen Sie die Datenbank.
  • Öffnen Sie eine beliebige andere Datenbank und erstellen Sie einen Verweis auf die soeben angelegte Datenbank mit der Testfunktion. (
  • Function Test()

        MsgBox "Dies ist eine Funktion aus einer Bibliotheksdatenbank."

    End Function

    Quellcode 1

    Abb. 3: Die eingebundene Bibliotheksdatenbank

    Abgesehen davon, dass die eingebundene Datenbank nun in der Liste der Verweise auftaucht (s. Abb. 3), macht sie sich nicht bemerkbar. Erst die Eingabe der Anweisung Test im Testfenster (zu aktivieren mit der Tastenkombination Strg + G) und das anschließend erscheinende Meldungsfenster beweisen die Funktionstüchtigkeit der eingebundenen Datei.

    Nun ‚stören’ Sie den Verweis, indem Sie den Dateinamen der Datenbank Bibliothek.mdb ändern oder die Datei in ein anderes Verzeichnis kopieren.

    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:

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.