ADODB.Connection mit Office 2021

  • VB6

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von mgottsch.

    ADODB.Connection mit Office 2021

    GutenTag allerseits!

    Ich hab ein kleines großes Problem mit einer ADOConnection.
    Wir haben ein Programm, das aus einer Excel-Datei bestimmte Faktoren ausliest. Das klappt bisweilen hervorragend. Bei Excel 2013.
    Nun müssen wir umstellen auf Office 2021.
    Und da gehen die Probleme los.
    Bei meinem Rechner (Win 10 64bit, Office365, heute installiert), funktioniert der Zugriff, bei meinem Scheff (ebenfalls Office365) funktioniert der Zugriff nicht.

    Hier mal der Quellcode, mit dem ich arbeite (VB6):

    Visual Basic-Quellcode

    1. Dim sTabelle As String
    2. sTabelle = "Kubische_Gleichungen"
    3. Set conn = New ADODB.Connection
    4. conn.CursorLocation = adUseClient
    5. conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    6. "Extended Properties=Excel 8.0;" & _
    7. "Data Source=" & sExcelFile & ";"
    8. ' Recordset erstellen und öffnen
    9. Set rs = New ADODB.Recordset
    10. rs.Open "SELECT * FROM [" & sTabelle & "$]", conn


    Leider kann ich nicht sagen, an welcher Stelle das Programm aussteigt, da es ja auf meinem Rechner läuft (und ich außerdem VB6 noch nicht installiert hab).
    Bei einem Kollegen ist wohl das Phänomen aufgetreten, dass er die Excel-Datei, die er auf dem Desktop gespeichert hatte, ins Stammverzeichnis von C: verschieben musste. Er hat meines Wissen nach Office 2019, das muss ich noch verifizieren.

    Wo könnte das Problem liegen? Mir fehlen langsam echt die Ideen... Und wir müssen auf 2021 umstellen....

    Vielleicht hat hier ja jemand eine passende Idee?

    Viele Grüße
    Michael

    Code-Tag eingefügt. ~Thunderbolt

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Thunderbolt“ ()

    Ohne Fehlermeldung ist das ein bisschen fischen im Trüben.
    Wo liegen denn die Excel-Dateien, lokal, OneDrive, Sharepoint?

    Nach connectionstrings.com/excel/ sollte es eigentlich egal sein mit welcher Office-Version Du arbeitest, solange das Dateiformat stimmt.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    Hallo zusammen.
    Allen ein gesundes, erfolgreiches Jahr!

    Das Problem hatte ich auch mal, da habe ich folgenden Abschnitt gefunden:

    Der 'Microsoft.ACE.OLEDB.12.0'-Provider ist nicht auf dem lokalen Computer registriert
    Da Access 2016 64-Bit bereits installliert ist, ist auch der Treiber bereits registriert, allerdings in 64-bit!
    Das Problem ist nun allerdings, dass VisualStudio als 32-Bit ausgeführt wird obwohl 64-Bit-Anwendungen erstellt werden können. Um nun mit VisualStudio eine Access-DB aufmachen zu können, bedarf es der 32-Bit-Accesstreiber.Du solltest also die Redistributables der 32-Bit-Version von Access2016 installieren.
    Allerdings erlaubt der Installer dies normal so nicht. Man muss hier die Silent-Installation manuell aufrufen: AccessDatabaseEngine.exe /quiet
    microsoft.com/en-us/download/details.aspx?id=54920 Entscheidend, welche Treiberversion deine Anwendung benötigt, ist die Projekt-Build-Einstellung "x86" oder "x64".


    Vielleicht hilft dies ...

    Grüße
    JackCimberly
    Grüße JackCimberly

    Deine Anfrage erledigt?
    Als erledigt markieren
    Die Excel-Datei liegt lokal auf dem Rechner. Verschiedene Speicherorte wurden ausprobiert, ohne Erfolg.

    Fehlermeldung ist schwierig, da ich den Fehler Programmseitig abgefangen habe. Werde mal versuchen, das rauszunehmen, vielleicht bekomme ich ja eine System-Fehlermeldung.

    Bei einem Kollegen hat es wie gesagt auf einmal funktioniert, als er die Excel in C:\ verschoben hat. Eigentlich völlig unlogisch.

    Muss ich vielleicht die .dll als 32 Bit registrieren? Als 64-bit ist sie im syswow64 registriert.

    Wie gesagt, auf meinem eigenen System läuft es, daher kann ich es nicht direkt nachvollziehen.
    Hatte das System allerdings auch übernommen, weiß also nicht, was Vorbesitzer ggf. registriert hatten und was nicht.

    Hat die Access Database Engine auch direkt was mit Excel zu tun?

    Viele Grüße
    Michael