Datenzugriff mit ADO
787
Programmierung
Die Unterschiede sind vielfältig: DAO (in Access 2007 in der Version 12.0) verwendet die Access Data-
base Engine 12.0 (ACE), eine Erweiterung der bis Access 2003 verwendeten Jet Engine. Die Access
Database Engine verfügt über den in Teil C beschriebenen SQL-Sprachumfang. ADO (in Access 2007
in der Version 6.0) dagegen greift auf Datenbanken für den ACE 12.0-OLEDB-Provider zu. Dieser hat
einen gegenüber ACE 12.0 erweiterten SQL-Wortschatz und verfügt über erweiterte Möglichkeiten.
DAO kann direkt auf ACE-Tabellen und Abfragen zugreifen und beispielsweise deren Strukturen
verändern. Mit DAO lässt sich z.B. relativ einfach ein neues Feld zu einer Tabelle hinzufügen. ADO
verfügt selbst über keine einfachen Möglichkeiten zur Änderung von Strukturen, sondern muss
dafür die Hilfe der zusätzlichen Schnittstelle ADOX in Anspruch nehmen.
ADO oder DAO?
Wahrscheinlich stellt sich Ihnen nun die Frage: ADO oder DAO? Wir möchten Ihnen die Vor- und
Nachteile der beiden Zugriffsschnittstellen kurz gegenüberstellen:
Pro ADO:
erlaubt den einfachen Zugriff auf Datenbankserver
der SQL-Sprachumfang beim Zugriff auf Jet-Datenbanken ist erweitert
Contra ADO:
beim Zugriff auf Access-Objekte, beispielsweise Abfragen mit Parametern, muss die zusätzliche
ADOX-Bibliothek verwendet werden
beim Zugriff auf die Daten gebundener Formulare und Berichte muss DAO eingesetzt werden
Pro DAO:
bessere Einbindung in Access
gute Dokumentation in der Access-Hilfe
Contra DAO:
gegenüber ADO eingeschränkter SQL-Sprachumfang
unzureichend beim Zugriff auf Datenbankserver
Weiterentwicklung durch Microsoft ungewiss
In diesem Kapitel möchten wir Ihnen den Datenzugriff mit ADO beschreiben. Im folgenden Kapitel
38 stellen wir Ihnen DAO vor. Wir haben versucht, die gleichen Beispiele in beiden Kapiteln zu ver-
wenden, so dass Sie die Lösung einer Aufgabenstellung mit ADO und DAO vergleichen können.
Wir möchten dieses Kapitel zuerst mit einem theoretischen Überblick über die
ADO-Datenzugriffsobjekte beginnen, damit Sie die verschiedenen Komponenten und Objekte
kennen lernen und einordnen können. Wenn Sie mit dem grundlegenden Aufbau, insbesondere
der Art und Weise, wie die verschiedenen Objekte aufeinander aufbauen, vertraut sind, können
Sie sehr schnell die Möglichkeiten der Datenzugriffsobjekte nutzen.
ACHTUNG
Kapitel 37
Datenzugriff mit ADO
788
Sie können die ADO-Datenzugriffsobjekte nur verwenden, wenn Sie einen Verweis
auf die entsprechende Objektbibliothek aktiviert haben. Rufen Sie das Dialogfeld Verweise im
Visual Basic-Editor über Extras/Verweise auf und selektieren Sie den Eintrag Microsoft ActiveX
Data Objects 6.0 Library.
Abbildg. 37.1
Verweis auf ADO
Es ist möglich, die ADO- und die DAO-Bibliothek gleichzeitig zu selektieren. Da in den Biblio-
theken aber namensgleiche Objekte (z.B.
Recordset
) existieren, müssen Sie dann vor dem Namen
des Objekts die Bibliothek angeben, beispielsweise als
ADODB.Recordset
oder
DAO.Recordset
. Wir
verwenden prinzipiell diese Schreibweise.
ADO-Objekte werden dynamisch mithilfe des Befehlsworts
New
erzeugt. Es ist not-
wendig, erzeugte Objekte vor dem Beenden des Programms wieder zu vernichten, insbesondere
wenn Sie Objekte global definiert haben. Mit
vernichten Sie ein Objekt
object
. Erzeugen Sie ein Objekt innerhalb einer Prozedur, so wird norma-
lerweise das Objekt beim Beenden der Prozedur vernichtet. Es zeugt aber von gutem Programmier-
stil, Objekte explizit zu vernichten. In den Beispielen in diesem Kapitel werden daher alle erzeugten
Objekte mit dem entsprechenden Befehl zerstört.
WICHTIG
WICHTIG
Set object = Nothing

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.