PDA

Vollständige Version anzeigen : Laufzeitfehler 3706


robert0310
07.10.2019, 14:10
Mahlzeit,
ich bekomme den Laufzeitfehler 3706 beim Zugriff auf Access per VBA....

Set oConn = CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
Datenbank & ";Persist Security Info=False"


Seltsam ist, dass es auf ein paar Rechnern funktioniert, auf ein paar anderen nicht. Sollte aber auf allen gleich sein, da die PC´s geklont wurden.
Verweise sind auf allen Rechnern gleicht, Code kommt aus der gleichen DOTM - Vorlage. Verwendet wird Office16, Vorlagen und AccessDB wurden mit Office2010 erstellt.

Danke schon mal für Eure Hinweise, wo ich da genau suchen soll......
lg
Robert

EarlFred
07.10.2019, 14:58
Laufzeitfehler 3706
Sicher bekommst Du auch eine Beschreibung des Fehlers. Verrätst Du die uns auch noch?

Und mit welchem Wert ist die Variable "Datenbank" zum Zeitpunkt des Fehles gefüllt?

Ansonsten: Schau mal unter https://www.connectionstrings.com/, ob Deine verwendete Connection mit den Anforderungen übereinstimmt.

Verweise
...die Du bei Late-Binding, wie Du es nutzt, vsl. nicht benötigst.

knobbi38
07.10.2019, 18:48
Hallo,
möglicherweise ist der Provider nicht installiert.
Mit diesem kleine Powershell-Script kann das überprüft werden:

foreach ($provider in [System.Data.OleDb.OleDbEnumerator]::GetRootEnumerator())
{
$v = New-Object PSObject
for ($i = 0; $i -lt $provider.FieldCount; $i++)
{
Add-Member -in $v NoteProperty $provider.GetName($i) $provider.GetValue($i)
}
$v
}
Einmal unter 32Bit und einmal unter 64Bit laufen lassen.

Ulrich

robert0310
08.10.2019, 06:43
Guten Morgen,
Laufzeitfehler 3706 - Der Provider kann nicht gefunden werden. Möglicherweise ist er nicht richtig installiert worden......

Unter der "datenbank"-Variable ist die Access-accdb mit kompletten Pfad zugewiesen. Datenbank ist natürlich erreichbar und kann per Access auch geöffnet werden - daher schließe ich ein Rechteproblem aus.

@Ullrich:
Das dürfte der richtige Lösungsweg sein, da gibts Unterschiede zwischen den Rechnern wo es läuft und nicht läuft.
Welcher OLE-DB-Provider wird für Zugriff auf Access benötigt und wie kann ich den installieren?

lg
Robert

derHoepp
08.10.2019, 07:56
Moinsen,

du hast den Provider ja selbst angegeben:
Microsoft.ACE.OLEDB.12.0
(die gleiche Info hättest du auch im Link zu den Connectionstrings gefunden).
Installieren lässt sich der Provider über das MS Access-Redistributable Pack: https://www.microsoft.com/en-us/download/details.aspx?id=54920

Viele Grüße
derHöpp

EarlFred
08.10.2019, 09:05
Sollte aber auf allen gleich sein, da die PC´s geklont wurden.
da gibts Unterschiede zwischen den Rechnern wo es läuft und nicht läuft
Da hast Du uns dann aber auf eine schön falsche Fährte geschickt...

robert0310
08.10.2019, 09:33
Mahlzeit,
nach Installation der AccessDatabaseEngine funktioniert es wieder einwandfrei - Danke vielmals für den richtigen Tipp.

Woher die Unterschiede nach dem klonen kommen, ist für mich immer noch ein Rätsel ......

lg
Robert