Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zugriff auf Access-DB über DAO oder ADO

Forumthread: Zugriff auf Access-DB über DAO oder ADO

Zugriff auf Access-DB über DAO oder ADO
03.09.2008 14:28:55
Armin
Hallo,
ich hätte eine allgemeine Frage zum Zugriff auf Access-Datenbanken.
Welche Zugriffsmethode auf eine Access-DB würdet Ihr generell empfehlen: ADO oder DAO?
Gibt es in der Praxis Vor- oder Nachteile für die eine oder andere Zugriffsweise?
Vielen Dank für Euere Meinungen und Tipps.
Viele Grüße
Armin
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriff auf Access-DB über DAO oder ADO
03.09.2008 15:07:00
Luschi
Hallo Armin,
ich benutze beim Zugriff von Excel auf Access-DB's nur noch ADO, während ich in der Access-Programmierung noch viel mit DAO mache.
ADO gehört sein Windows 2000 zum Betriebssystem und man benötigt keine weiteren
Voraussetzungen, um von Excel auf Access-DB's zugreifen zu können.
Es muß also Access auf dem PC noch nicht mal installiert sein.
Bei DAO dagegen muß Access installiert sein, denn hier bringt erst Access alle Voraussetzungen mit.
Wenn Du also Excel-Dateien weitergegen willst, in denen eine Zugriff auf Access-DB's erfolgt, dann ist ADO die richtige Wahl.
Für ADO gibt es hier eine gute Hilfe:
http://www.activevb.de/tutorials/tut_ado_db/adodb.html
Gruß von Luschi
aus klein-Paris
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zugriff auf Access-Datenbanken über ADO oder DAO


Schritt-für-Schritt-Anleitung

Um auf eine Access-Datenbank über Excel zuzugreifen, kannst Du entweder ADO oder DAO verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie Du ADO in Excel nutzen kannst:

  1. Öffne Excel und gehe zu den Entwicklertools. (Falls die Entwicklertools nicht sichtbar sind, aktiviere sie über die Excel-Optionen.)

  2. Füge ein neues Modul hinzu:

    • Klicke auf "Visual Basic" und dann auf "Einfügen" > "Modul".
  3. Referenziere die ADO-Bibliothek:

    • Gehe zu "Extras" > "Verweise" und aktiviere "Microsoft ActiveX Data Objects x.x Library".
  4. Verwende folgenden VBA-Code, um eine Verbindung zur Access-Datenbank herzustellen:

    Sub ADO_Connection()
       Dim conn As ADODB.Connection
       Dim rs As ADODB.Recordset
       Dim strSQL As String
    
       Set conn = New ADODB.Connection
       conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Pfad\zu\deiner\Database.accdb;"
       conn.Open
    
       strSQL = "SELECT * FROM DeineTabelle"
       Set rs = New ADODB.Recordset
       rs.Open strSQL, conn
    
       ' Hier kannst Du die Daten weiterverarbeiten
    
       rs.Close
       conn.Close
    End Sub
  5. Führe das Makro aus, um die Daten aus der Access-Datenbank abzurufen.


Häufige Fehler und Lösungen

  • Fehler: "Provider nicht gefunden": Stelle sicher, dass der richtige OLEDB-Provider installiert ist. Für Access 2007 und höher benötigst Du den "Microsoft.ACE.OLEDB.12.0".

  • Fehler: Zugriff verweigert: Überprüfe die Zugriffsberechtigungen auf die Access-Datenbank. Stelle sicher, dass Du die nötigen Berechtigungen hast.

  • Fehler: Datenbank nicht gefunden: Prüfe den Pfad zur Datenbank im ConnectionString. Achte darauf, dass der Pfad korrekt ist.


Alternative Methoden

Neben ADO kannst Du auch DAO verwenden, um auf Access-Datenbanken zuzugreifen. Hier sind die Schritte:

  1. Referenze die DAO-Bibliothek: Gehe zu "Verweise" und aktiviere "Microsoft DAO 3.6 Object Library".
  2. Verwende folgenden VBA-Code:

    Sub DAO_Connection()
       Dim db As DAO.Database
       Dim rs As DAO.Recordset
    
       Set db = OpenDatabase("C:\Pfad\zu\deiner\Database.accdb")
       Set rs = db.OpenRecordset("SELECT * FROM DeineTabelle")
    
       ' Hier kannst Du die Daten weiterverarbeiten
    
       rs.Close
       db.Close
    End Sub

DAO ist besonders nützlich, wenn Access bereits auf Deinem PC installiert ist, da es alle nötigen Voraussetzungen mitbringt.


Praktische Beispiele

  • Beispiel für ADO: Wenn Du eine Excel-Tabelle mit Daten aus Access füllen möchtest, kannst Du die oben beschriebene ADO-Methode verwenden, um die Daten zu importieren und in eine Tabelle zu schreiben.

  • Beispiel für DAO: Mit DAO kannst Du leicht Daten in bestehende Access-Tabellen schreiben oder abrufen, was besonders nützlich ist, wenn Du Daten in Deine Access-Datenbank integrieren möchtest.


Tipps für Profis

  • Verwendung von Parameterabfragen: Nutze Parameter in Deinen SQL-Abfragen, um die Flexibilität zu erhöhen und SQL-Injection zu vermeiden.

  • Fehlerbehandlung: Implementiere in Deinem VBA-Code eine Fehlerbehandlung, um unerwartete Fehler besser zu managen.

  • Zugriffsberechtigungen: Achte darauf, dass die Zugriffsberechtigungen korrekt gesetzt sind, insbesondere wenn Du mit mehreren Benutzern arbeitest.


FAQ: Häufige Fragen

1. Welche Methode ist besser: ADO oder DAO?
Das hängt von Deinen Anforderungen ab. ADO ist flexibler und benötigt keine Installation von Access, während DAO direkt auf die Access-Datenbank zugreift und oft schneller ist.

2. Was sind die Vorteile von ADO?
ADO ist einfacher zu verwenden, wenn Du keine Access-Installation hast, und bietet eine gute Integration mit verschiedenen Datenquellen.

3. Gibt es Nachteile bei der Verwendung von Excel mit ADO?
Ja, die Performance kann bei großen Datenmengen leiden, und nicht alle Access-Funktionen sind über ADO verfügbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige