HINWEIS
Kapitel 7: ADO-Programmierung
Die ADO (ActiveX Data Objects) wurden mit Access 2000 eingeführt, um langfristig die klassischen DAO
(Data Access Objects) abzulösen.
ADO ist nicht nur auf RDBMS (Relationale Datenbanken) beschränkt, sondern es kann auf beliebige Daten mit
einem einheitlichen Modell zugegriffen werden.
Allein in dieser Verallgemeinerung liegt schon ein gravierender Unterschied zu den DAO, die stets an ein
bestimmtes Datenformat gebunden sind.
Mit Access 2007 wurden, für viele sicherlich überraschend, die ADO wieder hinter die DAO in die zweite
Reihe verbannt. Mehr noch: Ob die klassische ADO-Technologie überhaupt eine Zukunft hat, bleibt ange-
sichts des allgegenwärtigen ADO.NET
1
fragwürdig.
Allerdings liefert ADO nach wie vor die Grundlage für die ab Access 2000 eingeführten Access-Projekte
(*.adp), wie sie vorrangig für den SQL-Server-Zugriff Verwendung finden. Dies sollte Grund genug sein,
den ADO trotz ihres unübersehbaren »Karriereknicks« ein eigenes Kapitel zu widmen.
Ein erster Blick auf ADO
Mit ADO können Clientanwendungen über jeden OLE-DB-Provider auf Daten eines Datenbankservers zu-
greifen.
Die Vorteile von ADO liegen weiterhin in:
der einfachen Programmierung,
dem geringen Bedarf an Arbeitsspeicher,
der Unterstützung wichtiger Features für das Erstellen von Client/Server-, mehrschichtigen und web-
basierten Anwendungen,
der Unterstützung von Remote Data Service (RDS),
der Möglichkeit des Anlegens ungebundener Recordsets.
Die universellen Fähigkeiten von ADO machten diese Technologie auch für Anwendungen jenseits von
Datenbanksystemen (RDBMS) interessant.
Kleines Einführungsbeispiel
Bereits im Einführungskapitel dieses Buchs haben Sie mit Datenzugriffsobjekten gearbeitet, allerdings unter
Verwendung der klassischen DAO-Technologie. Bevor wir nun tiefer in die Geheimnisse von ADO eindrin-
gen, soll anhand eines kleinen Codebeispiels ein erster Eindruck vermittelt werden.
Referenzieren der ADO-Bibliothek
Dies sollte immer der erste Schritt sein, denn anders als bei den Vorgängerversionen ist diese Library unter
Access 2007 nicht mehr standardmäßig eingebunden. Sie müssen also zunächst (im VBA-Editor) das Menü
1
Vielleicht gibt es bald ein VBA.NET?
362
HINWEIS
BEISPIEL
Extras/Verweise... öffnen und die Microsoft ActiveX Data Objects 6.0 Library (dahinter verbirgt sich die aktu-
elle msado15.dll) referenzieren. Alternativ könnten Sie auch die Microsoft ActiveX Data Objects 2.8 Library
wählen. Das Referenzieren der ebenfalls angebotenen älteren Versionen 2.0 ... 2.7 wäre ebenfalls möglich,
macht aber in den meisten Fällen keinen Sinn.
Abbildung 7.1 Auswahl der ADO-Bibliothek
Da Sie nun mit den ADO- und nicht mehr mit den DAO-Objekten arbeiten, und ein Mischen beider Versionen
in der Regel nicht zu empfehlen ist, können Sie das Häkchen bei der standardmäßig eingebundenen Microsoft Office 12.0
Access database engine Object Library (bzw. Microsoft DAO 3.6 Object Library) entfernen.
Recordset und Verbindungszeichenfolge
Wichtigster Bestandteil eines jeden Datenzugriffsmodells ist ein Recordset-Objekt, welches eine bestimmte
Menge von Datensätzen repräsentiert. Grundlager das Öffnen eines Recordset ist eine gültige Ver-
bindungszeichenfolge
1
zu einer Datenquelle, diese kann sowohl der SQL Server als auch eine andere externe
Datenbank sein, für welche es einen so genannten OLEDB-Provider gibt.
Die Eingabemaske für die Tabelle
Personal
einer externen Datenbank
NORDWIND.ACCDB
wird über ein
ADO-
Recordset
-Objekt gefüllt.
Private rs As ADODB.Recordset ' Referenzieren
Private connStr As String ' Verbindungszeichenfolge
...
connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= C:\Daten\NORDWIND.ACCDB;" & _
"Mode=Share Deny Read|Share Deny Write;Persist Security Info=False"
Set rs = New ADODB.Recordset ' Instanzieren
rs.Open "Personal", connStr, adOpenStatic, adLockOptimistic ' Öffnen des Recordset-Objekts
Set Me.Recordset = rs ' Navigationsschaltflächen "anklemmen"
Text0.ControlSource = "PersonalNr"
1
Später werden wir dazu ein Connection-Objekt verwenden.
363
Ein erster Blick auf ADO

Get Microsoft Office Access 2007-Programmierung - 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.