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

Forumthread: Excel XP VBA: Installierbares ISAM nicht gefunden

Excel XP VBA: Installierbares ISAM nicht gefunden
20.08.2007 21:10:57
Michael
Hallo!
Mein System ist wie folgt konfiguriert:
- Windows XP Home SP2
- MS Office XP
Ich möchte von Excel XP VBA aus auf eine Access-Datei zugreifen und habe zu diesem Zweck die einfachste Form erstellt, d.h. den folgenden Code in VBA geschrieben, der den Zugriff mittels ADODB herstellen soll

Sub getData()
Dim ADOC As New ADODB.Connection
Dim path
path = "D:\test\db1.mdb"
ADOC.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "DataSource=" & path & ";"
End Sub


Im VBA-Editor wurden unter Extras -> Verweise die folgenden Komponenten (in dieser Reihenfolge) eingebettet:
- Visual Basic For Applications
- Microsoft Excel 10.0 Object Library
- OLE Automation
- Microsoft ActiveX Data Objects 2.1 Library
Die Fehlermeldung erscheint beim zeilenweisen Abarbeiten des Codes in Zeile 7 (ADOC.open ...) und lautet wie folgt:
"Laufzeitfehler '-2147467259 (80004005)': Installierbares ISAM nicht gefunden."
Die Access Datei besteht aus einer simplen Tabelle und einer Abfrage, die bewusst sehr einfach gehalten wurde.
Ich habe schon das Internet abgesucht nach diversen Einträgen, bisher aber nichts gefunden, was mein Problem behoben hat. Auch habe ich über Systemsteuerung -> Software die Office-Komponenten repariert bzw. dort neu installiert (keine vorherige komplette Deinstallation bisher). Auf einem anderen Rechner läuft mein Code ebenfalls nicht.
Über Hilfe bin ich sehr dankbar, weiß jetzt nicht mehr weiter...
Michael

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel XP VBA: Installierbares ISAM nicht gefunden
20.08.2007 21:49:00
Type
Hallo,
versuche es mal mit dieser deklaration!
Option Explicit
Private ADOC As ADODB.Connection

Sub getData()
Dim path
path = "C:\Datenbanken\Nordwind.mdb"
Set ADOC = New ADODB.Connection
With ADOC
.CursorLocation = adUseClient
.Mode = adModeShareDenyNone
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = path
.Open
End With
End Sub


Anzeige
AW: Excel XP VBA: Installierbares ISAM nicht gefunden
21.08.2007 13:56:00
Michael
Vielen Dank für den Tipp, es funktioniert!! Die Minimalversion mit der es läuft scheint diese zu sein...

Sub getData()
Dim ADOC As New ADODB.Connection
Dim path As String
path = "D:\test\db1.mdb"
With ADOC
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = path
.Open
End With
End Sub


Es stellt sich für mich lediglich die Frage, warum DIESE Variante läuft, die Ausgangsvariante jedoch nicht. Gibt es dafür eine Erklärung, um den Hintergrund besser zu verstehen?!
Grüße,
Michael

Anzeige
AW: Excel XP VBA: Installierbares ISAM nicht gefunden
21.08.2007 20:48:00
Type
Hi,
soviel ich weiß muß mit "Set" eine referenz oder was auf die Verbindung gesetzt werden.
Aber ich bin nicht Herr ISAM
bis dann
;
Anzeige
Anzeige

Infobox / Tutorial

Excel XP: Fehler "Installierbares ISAM nicht gefunden" beheben


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor in Excel XP, indem Du ALT + F11 drückst.

  2. Füge ein neues Modul hinzu: Rechtsklick auf „Projekt“ -> „Einfügen“ -> „Modul“.

  3. Kopiere den folgenden Code in das Modul:

    Sub getData()
       Dim ADOC As New ADODB.Connection
       Dim path As String
       path = "D:\test\db1.mdb"
       With ADOC
           .Provider = "Microsoft.Jet.OLEDB.4.0"
           .ConnectionString = path
           .Open
       End With
    End Sub
  4. Überprüfe die Verweise: Gehe zu „Extras“ -> „Verweise“ und stelle sicher, dass folgende Komponenten aktiviert sind:

    • Visual Basic For Applications
    • Microsoft Excel 10.0 Object Library
    • OLE Automation
    • Microsoft ActiveX Data Objects 2.1 Library
  5. Führe das Skript aus: Setze den Cursor in die Subroutine und drücke F5.


Häufige Fehler und Lösungen

  • Fehler "Installierbares ISAM nicht gefunden": Dieser Fehler tritt häufig auf, wenn der Pfad zur Access-Datenbank nicht korrekt ist oder der Provider nicht korrekt angegeben wurde. Stelle sicher, dass der Pfad zur .mdb-Datei stimmt und dass der Provider Microsoft.Jet.OLEDB.4.0 verwendet wird.

  • Verwendung von Set: Wenn Du eine Verbindung mit ADODB.Connection öffnest, musst Du sicherstellen, dass Du die Verbindung mit Set zuweist:

    Set ADOC = New ADODB.Connection

Alternative Methoden

Falls der Fehler weiterhin auftritt, kannst Du alternative Provider ausprobieren. Nutze beispielsweise Microsoft.ACE.OLEDB.12.0, wenn Du eine neuere Access-Version verwendest. Ändere den Code wie folgt:

.Provider = "Microsoft.ACE.OLEDB.12.0"

Achte darauf, dass die Microsoft Access Database Engine installiert ist.


Praktische Beispiele

Hier sind einige Varianten, die Du ausprobieren kannst:

  1. Zugriff auf eine andere Datenbank:

    Sub getDataAlternative()
       Dim ADOC As New ADODB.Connection
       Dim path As String
       path = "C:\Datenbanken\Nordwind.mdb"
       With ADOC
           .Provider = "Microsoft.Jet.OLEDB.4.0"
           .ConnectionString = path
           .Open
       End With
    End Sub
  2. Verwende eine Fehlerbehandlungsroutine:

    Sub getDataWithErrorHandling()
       On Error GoTo ErrorHandler
       Dim ADOC As New ADODB.Connection
       Dim path As String
       path = "D:\test\db1.mdb"
       With ADOC
           .Provider = "Microsoft.Jet.OLEDB.4.0"
           .ConnectionString = path
           .Open
       End With
       Exit Sub
    ErrorHandler:
       MsgBox "Fehler: " & Err.Description
    End Sub

Tipps für Profis

  • Verwende den vollständigen Pfad zur Datenbank, um sicherzustellen, dass Excel die Datei findet. Dies ist besonders wichtig, wenn Du von verschiedenen Computern aus arbeitest.

  • Überprüfe die Versionen: Manchmal kann es zu Problemen kommen, wenn verschiedene Office-Versionen im gleichen Netzwerk verwendet werden. Stelle sicher, dass die Versionen kompatibel sind.


FAQ: Häufige Fragen

1. Warum funktioniert mein Code auf einem anderen Rechner nicht?
Es kann sein, dass die benötigten Bibliotheken oder der Access Provider auf diesem Rechner nicht installiert sind. Überprüfe die Verweise in den VBA-Einstellungen.

2. Wo finde ich die richtigen OLEDB Provider für meine Excel-Version?
Die Provider sind in der Microsoft-Dokumentation zu finden. Bei neueren Versionen von Access solltest Du die Microsoft Access Database Engine installieren.

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