none
Verbindungsstring ADO von Exel 2010 zu Access 2010

    Allgemeine Diskussion

  • Hallo zusammen,

    ich nutzet folgenden Sub um Daten aus einer AccessDB (2010 accdb) nach Excel 2010 zu importieren. Der Sub steht in Excel

    Sub Holen()

    'Verweis "Microsoft ActiveX Data Object 2.7" wird benötigt

        Dim adoCnn As New ADODB.Connection
        Dim adoRst As New ADODB.Recordset
        Dim sql As String
        Const ADOCon1 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Test_OHNE.accdb;Jet OLEDB:Database Password=xxx;"
        adoCnn.ConnectionString = ADOCon1
        sql = "SELECT tblTest.ID, tblTest.Test FROM tblTest;"
        adoCnn.Open
        adoRst.Open adoCnn.Execute(sql)
        Tabelle1.Range("A2:B65536").ClearContents
        Tabelle1.Range("A2").CopyFromRecordset adoRst
        adoRst.Close
        adoCnn.Close
    End Sub


    Wenn ich die Datenbank nun mit einem Kennwort schütze bekomme ich den Fehler
    Laufzeitfehler '-2147217843 (80040e4d)':
    Kein zulässiges Kennwort.

    Das Passwort ist definitiv richtig.

    Wie muss ich des ändern, damit ich eine Verbindung zu der Datenbank bekomme.

    Danke

    Dirk


    Dirk
    Freitag, 13. Mai 2011 21:47

Alle Antworten

  • Hallo!

    Dirk.Freymann schrieb:
    [...]

        Const ADOCon1 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Test_OHNE.accdb;Jet OLEDB:Database Password=xxx;"
        adoCnn.ConnectionString = ADOCon1
        sql = "SELECT tblTest.ID, tblTest.Test FROM tblTest;"
        adoCnn.Open     adoRst.Open adoCnn.Execute(sql)

    Ich würde hier eher

      adoRst.Open sql, adoCnn

      oder

      set adoRst =  adoCnn.Execute(sql)

    schreiben.

    ... das ist aber nicht die Ursache für das beschriebene Problem.

    [...]

    Wenn ich die Datenbank nun mit einem Kennwort schütze bekomme ich den Fehler
    Laufzeitfehler '-2147217843 (80040e4d)':
    Kein zulässiges Kennwort.

    Das Passwort ist definitiv richtig.

    Ich probierte deinen Code unter Office 2010 (32 bit) aus. => kein Problem festgestellt.
    Vielleicht passt doch etwas (z. B. Sonderzeichen, nicht entdeckte Tippfehler,...) mit dem Datenbankpasswort nicht. ;-)

    mfg
    Josef


    Code-Bibliothek für Access-Entwickler
    AccUnit - Testen von Access-Anwendungen
    Samstag, 14. Mai 2011 07:33
  • Hallo Zusammen,

    nach nochmaliger Durchsicht Passwörter habe ich keinen Fahler festgestellt. Das Passwort ist definitiv richtig. Als Verweis habe ich "Microsoft ActiveX Data Object 2.8" gesetzt.

    Die Fehlermelfung "Kein zulässiges Kennwort" erscheint im VBA an der Stelle "adocnn.open".

    Ich habe die gleiche Datenbank ohne Passwort, dort läuf der VBA ohne Fehler durch. Ich nutze Windows 7 Starter mit Office 2010 Prof an dem ersten Computer, am anderen Computer benutze ich Windows XP Home mit Office 2010 Home and Studient.

    Den VBA habe ich bereits seid mehreren Jahren unter Office 2003 im Einsatz ohne Probleme.

    Kann es sein, dass ich noch Einstellungen in der Access Datenbank vornehmen muss, Makros sind beriets eingeschatet.

    Ich benötige dringend hilfe bei dem Problem.

    Dirk


    Dirk
    Samstag, 14. Mai 2011 18:42
  • Hallo Zusammen,

    glaube habe den Fahrer gefunden, Verweis Office 14 Libery war nicht gesetzt.

     

    Danke.


    Dirk
    Samstag, 14. Mai 2011 19:10
  • Hallo!

    Ich fand nun eine Variante, mit der ich das Problem nachstellen
    konnte.
    Wenn ich "Standardverschlüsselung verwenden" statt
    "Legacyverschlüsselung verwenden" einsetze, erhalte ich auch die
    Meldung, dass das Passwort nicht stimmt.

    mfg
    Josef


    Code-Bibliothek für Access-Entwickler
    AccUnit - Testen von Access-Anwendungen
    Samstag, 14. Mai 2011 19:18