Ich habe eine VBA-Abfrage in Excel erstellt, die eine SQL-Abfrage für eine Access-Datenbank ausführt. Die Verbindung funktioniert, wenn die Datenbank ohne Kennwort mit dem folgenden Code ungeschützt ist:
Set Connection = New ADODB.Connection
Cnct = "Provider=Microsoft.ACE.OLEDB.12.0;"
Cnct = Cnct & "Data Source=" & DBFullName & ";"
Connection.Open ConnectionString:=Cnct
Aber wenn ich die Datenbank passwortgeschützt und versuche esdas gleiche oben, aber mit zusätzlichen password condition, es wird "t connect und ich bekomme eine" Laufzeitfehler-2147217843 "-Nachricht. Der Code, den ich dafür verwende, ist wie folgt:
Set Connection = New ADODB.Connection
Cnct = "Provider=Microsoft.ACE.OLEDB.12.0;"
Cnct = Cnct & "Data Source=" & DBFullName & ";"
Cnct = Cnct & "user ID=" & Environ("Username") & ";"
Cnct = Cnct & "password=XXXXXXXXXX;"
Connection.Open ConnectionString:=Cnct
Weiß jemand, was ich hier falsch mache?
Antworten:
1 für die Antwort № 1Dies ist die Verbindungszeichenfolge, die verwendet werden soll, wenn Sie über ein Access 2007 verfügen. 2013 Datenbank mit einem Passwort geschützt mit dem "Datenbank einrichten Passwort"Funktion in Access.
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:myFoldermyAccessFile.accdb;Jet OLEDB:Database Password=MyDbPassword;
Einige Berichte über Probleme mit dem Passwort länger als 14 Zeichen. Ebenfalls dass einige Zeichen Probleme verursachen könnten. Wenn du Probleme hast, Versuchen Sie, das Passwort zu einem kurzen mit normalen Zeichen zu ändern.
Hinweis! Berichte sagen, dass eine Datenbank mit verschlüsselt wurdeDas Standard-Verschlüsselungsschema von Access 2010 - 2013 funktioniert nicht mit dieser Verbindung Zeichenfolge. In Access; versuchen Sie Optionen und wählen Sie 2007 Verschlüsselungsmethode stattdessen. Das sollte es funktionieren lassen. Wir kennen keine anderen Lösung. Bitte kontaktieren Sie uns, wenn andere Lösungen verfügbar sind!
(Quelle)