785
Programmierung
Kapitel 37
Datenzugriff mit ADO
In diesem Kapitel:
Der Aufbau der Datenzugriffsobjekte 789
Connections 790
Recordsets 790
Abfragen ausführen 804
Zugriff auf Tabellendefinitionen 815
Zusammenfassung 819
Kapitel 37
Datenzugriff mit ADO
786
Möchten Sie in Ihren Visual Basic-Programmen auf die Daten in Tabellen zugreifen, sie ändern oder
löschen sowie Abfragen ausführen, so müssen Sie die in Access zur Verfügung stehenden Datenzu-
griffsschnittstellen einsetzen. Access 2007 bietet Ihnen zwei Schnittstellen an: ADO, »ActiveX Data
Objects«, und DAO, »Data Access Objects«. Wahrscheinlich liegt Ihnen die Frage auf den Lippen,
warum Access über zwei Schnittstellen verfügt? Dazu möchten wir Ihnen kurz den Werdegang von
Access in den letzten Jahren beschreiben.
Die (Erfolgs-)Geschichte von Access begann so richtig mit Version 2.0. Der für Access entwickelte
Datenbankkern, die so genannte Jet-Engine, sowie das MDB-Format für Datenbanken setzten sich
durch. Für die Programmierung, damals noch mit Access Basic, wurde die DAO-Schnittstelle ver-
wendet. Die »Data Access Objects« waren speziell für Access entwickelt worden und boten den
Zugriff auf alle Daten und Objekte einer Access-Datenbank.
In den folgenden Versionen 95 und 97 wurde DAO verbessert und erweitert. DAO gilt heute als eine
ausgereifte und stabile Schnittstelle. Leider hatte DAO ein Manko: DAO ist eigentlich nur für lokale
Access-Datenbanken ausgelegt. Zum einen sind Access-Datenbankzugriffe auf Datenbestände auf
einem Netzwerkserver nicht sehr effektiv. Zum anderen kam in den letzten Jahren zunehmend die
Anforderung hinzu, aus Access auf Datenbestände anderer Datenbanken zuzugreifen, insbesondere
auf Datenbanken wie Oracle, IBM DB2, Microsoft SQL-Server und andere, die im Netzwerk auf
Datenbankservern ablaufen. Auf diese Datenbanken kann Access nur über die ODBC-Schnittstelle
(»Open Database Connectivity«) zugreifen. Leider ist für viele Datenbankoperationen die Zugriffs-
geschwindigkeit auf die Daten unzureichend, so dass viele Kunden auf Microsoft einwirkten, hier
effektivere Mechanismen zur Verfügung zu stellen. Microsoft erweiterte daraufhin DAO um die
ODBCDirect-Komponente, die eine direktere Programmierung der ODBC-Schnittstelle erlaubt.
Parallel dazu entwickelte Microsoft, ursprünglich für Internet-Applikationen, die Datenzugriffs-
schnittstelle ADO, »ActiveX Data Objects«. ADO ist für den Zugriff auf Datenbestände über das Netz-
werk konzipiert und verwendet dazu die OLEDB-Schnittstelle, eine Erweiterung und Ergänzung der
ODBC-Schnittstelle. ADO soll in der Zukunft alle anderen Datenzugriffsschnittstellen ablösen.
Mit der Version Access 2000 hat Microsoft den Zugriff auf Datenbankserver, insbesondere auf den
Microsoft SQL-Server, erweitert. Dazu gehört die Verwendung von ADO und spezieller Access-
Datenbanken, so genannte Projekte. Access-Projekte haben die Dateiendung .adp und dienen als
Front-End für Microsofts SQL Server.
Durch die Hinzunahme von ADO kann Access wesentlich besser auf Datenbankserver zugreifen,
aber innerhalb von Access führt ADO für den Anwender zu Verwirrungen, da DAO ebenfalls noch
vorhanden ist. Wir möchten versuchen, Ihnen das Zusammenspiel (oder auch manchmal das
Gegeneinander) der verschiedenen Komponenten in Access zu erläutern:
Bei normalen Access-Datenbanken wird für Tabellen, Abfragen, Formulare und Berichte intern die
DAO-Bibliothek eingesetzt. In Modulen sowie in Modulen von Formularen und Berichten (»Code
behind Forms«) wird standardmäßig ADO verwendet.
In den Access-Projekten, den speziellen Access-Datenbanken für den Zugriff auf Datenbankserver,
wird für alle Komponenten ADO benutzt. Während DAO auch in Access 2007 für ACCDB-Daten-
banken integraler Bestandteil ist, verhält sich ADO eher wie eine zusätzlich aufgesetzte Schnittstelle.

Get Microsoft Office Access 2007 - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.