Excel VBA SQL ADO Fehler H80004005 (-2147467259)

Rolf Heller 0 Zuverlässigkeitspunkte
2026-01-19T09:54:00.9566667+00:00

Hallo,

nach einem der letzten Office-Updates erhalte ich (nach vielen erfolgreichen Jahren) die obige Fehlermeldung nach Ausführung folgenden SQL-Kommandos:

strSQL = " Select T1.[Nr], T1.[Name], T1.[Straße], T1.[V_St], T1.[WechselZum], T1.Kundendatei, T1.Blatt from [Daten$] as T1 " _

& " WHERE T1.WechselZum >= " & S_Datum & " AND NOT EXISTS " _

& "(Select V_St from [aktuell$] IN 'C:\OneDrive\ELWB\ÜbersichtNeu.xlsx' 'Excel 12.0 Xml;HDR=YES;IMEX=1;' " _

& " where (T1.V_St = V_St and T1.WechselZum = Vt_Start) " _

& " OR (T1.V_St = V_St and T1.WechselZum = WechselDatum));"
```Was hat sich verändert bzw. was hat MS eingeschränkt?

Hinweis des Moderators: Persönliche Daten entfernt
Microsoft 365 und Office | Excel | Geschäftlich | Andere
0 Kommentare Keine Kommentare

4 Antworten

Sortieren nach: Am hilfreichsten
  1. Deleted

    Diese Antwort wurde aufgrund eines Verstosses gegen unsere Verhaltensregeln gelöscht. Die Antwort wurde manuell gemeldet oder durch automatisierte Erkennung identifiziert, bevor Massnahmen ergriffen wurde. Weitere Informationen finden Sie in unseren Verhaltensregeln.


    Kommentare wurden deaktiviert. Weitere Informationen

  2. Sophie N 18,175 Zuverlässigkeitspunkte Externe Microsoft-Mitarbeiter Moderator
    2026-01-21T06:07:02.4433333+00:00

    Sehr geehrte/r @Rolf Heller,

    vielen Dank für die Details. Dieser Fehler tritt üblicherweise auf, wenn Excel keine korrekte Verbindung herstellen kann, weil der erforderliche ACE-/OLEDB-Treiber fehlt oder die 32-Bit-/64-Bit-Version nicht mit Ihrer Excel-Version kompatibel ist. Folgen Sie bitte Schritt für Schritt diesem Link: Fehler „Vorgang muss eine aktualisierbare Abfrage verwenden“ beim Zugriff auf Excel über ODBC.

    Um das Problem zu beheben, überprüfen Sie bitte Folgendes:

    Wir haben in der Community ein ähnliches Problem gefunden, das Ihnen hoffentlich weiterhilft (da es sich um einen englischen Beitrag handelt, bitten wir um Verständnis für eventuelle Übersetzungsfehler): Problem mit dem Visual Studio 2015 / SSIS / Excel-Verbindungsmanager (Der angeforderte OLE DB-Provider Microsoft.ACE.OLEDB.15.0 ist nicht registriert).

    Da dieses Problem von Ihrem genauen Code und Ihrer Verbindungszeichenfolge abhängt, erhalten Sie am schnellsten eine Schritt-für-Schritt-Hilfe, indem Sie Ihren Beispielcode in einer der folgenden Communitys veröffentlichen:

    Ich bitte um Verständnis, dass ich nur über eine englischsprachige Umgebung verfüge und daher keinen Beispiellink in Ihrer Sprache bereitstellen kann.

    Die Experten dort können Ihren Code genau analysieren und Ihnen deutlich schneller eine funktionierende Lösung anbieten.

    Wenn Sie möchten, können Sie mir Ihre Verbindungszeichenfolge zusenden. Ich helfe Ihnen dann gerne dabei, ein übersichtliches Beispiel zum Veröffentlichen vorzubereiten.

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare

  3. Rolf Heller 0 Zuverlässigkeitspunkte
    2026-01-20T09:43:58.5133333+00:00

    Ddas gesamte VBA-Coding lautet:

    Sub PrüfenDatenNachÜbersichtNeu()

    Dim strDatei As String, strCon As String, strSQL As String
    
    Dim strAdresse As String, WechselZumDatum As String, kuendigenBisDatum As String
    
    Dim strDaten As String
    
    Dim strVerträge As String
    
    Dim strEmpf As String
    
    Dim V_Stellen As Variant
    
    Dim AnzZeilen As Integer
    
    Dim eMail_Adr As String
    
    Dim Z_Datum As Date
    
    Dim S_Datum As String
    
    Dim D_offen As Boolean
    
    Dim wb As Workbook
    
    Dim ws As Worksheet
    
    Dim tbl As ListObject
    
    Dim xlsDatei As Workbook
    
    Dim strDatName As String
    
    
    
    Dim i As Integer
    
    Dim of As ADODB.Fields
    
    Dim cn As New ADODB.Connection
    
    Dim rs As New ADODB.Recordset
    
    
    
    Z_Datum = DateAdd("yyyy", -1, Date)
    
    
    
    S_Datum = InputBox("Ab welchem Datum soll ÜbersichtNeu mit Daten in SuchenInOrdner auf Konsistenz geprüft werden?", "Konsistenzprüfung", Z_Datum)
    
    If Not IsDate(S_Datum) Then Exit Sub
    
    Z_Datum = S_Datum
    
    S_Datum = Format(CLng(Z_Datum), "\#yyyy\-mm\-dd#\")
    
    
    
    'With Tabelle1
    
    '    strVerträge = .Name & "$" & .ListObjects(1).Range.Address(False, False)
    
    'End With
    
    
    
    Application.ScreenUpdating = False
    
    strDatei = "C:\OneDrive\ELWB\SucheInOrdner.xlsm"
    
    strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strDatei _
    
        & ";Mode=Read;Extended Properties=""Excel 12.0;HDR=YES;IMEX=1"";"
    
    Set cn = CreateObject("ADODB.Connection")
    
    Set rs = CreateObject("ADODB.Recordset")
    
    cn.Open strCon
    
    strSQL = " Select T1.[Nr], T1.[Name], T1.[Straße], T1.[V_St], T1.[WechselZum], T1.Kundendatei, T1.Blatt from [Daten$] as T1 " _
    
    & " WHERE T1.WechselZum >= " & S_Datum & " AND NOT EXISTS " _
    
    & "(Select V_St from [aktuell$] IN 'C:\OneDrive\ELWB\ÜbersichtNeu.xlsx' 'Excel 12.0 Xml;HDR=YES;IMEX=1;' " _
    
    & " where (T1.V_St = V_St and T1.WechselZum = Vt_Start) " _
    
    & " OR (T1.V_St = V_St and T1.WechselZum = WechselDatum));"
    
    rs.Open strSQL, cn
    
    Set of = rs.Fields
    
    With Tabelle6
    
        AnzZeilen = .Cells(Rows.Count, 1).End(xlUp).Row
    
        '.UsedRange.Clear
    
        .Range("A2:U" & AnzZeilen).Clear
    
        For i = 0 To rs.Fields.Count - 1
    
            .Cells(1, i + 1).Value = rs.Fields(i).Name
    
        Next
    
        .Range("a2").CopyFromRecordset rs
    
        '.Columns("S:T").NumberFormat = "#,##0;[Red](#,###);0"
    
        
    
        i = 2
    
        Do While .Cells(i, 6).Value <> ""
    
            HL = .Cells(i, 6).Text
    
            ActiveSheet.Hyperlinks.Add .Cells(i, 6), _
    
            Address:="C:\OneDrive\ELWB\Kundendateien\" & HL, _
    
            TextToDisplay:=HL, ScreenTip:="Link zur Kundendatei"
    
            i = i + 1
    
        Loop
    
        
    
    End With
    
    
    
    cn.Close
    
    Set rs = Nothing
    
    Set cn = Nothing
    
    Application.ScreenUpdating = True
    

    End Sub

    Die Zeile, in der der Fehler auftritt, lautet: rs.Open strSQL, cn

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare

  4. Sophie N 18,175 Zuverlässigkeitspunkte Externe Microsoft-Mitarbeiter Moderator
    2026-01-20T01:14:51.68+00:00

    Hinweis: Diese Antwort wurde mithilfe eines Übersetzungsprogramms übersetzt. Bitte entschuldigen Sie etwaige Grammatik- oder inhaltliche Fehler. Vielen Dank für Ihr Verständnis. Sollte etwas in meiner Antwort unklar sein, hinterlassen Sie bitte eine Nachricht. Ich werde Ihnen so schnell wie möglich antworten.

    Sehr geehrte/r @Rolf Heller,

    Vielen Dank, dass Sie sich an das Microsoft 365-Forum gewendet haben. Ich verstehe, wie ärgerlich es ist, wenn eine langjährige VBA-Lösung nach einem Update nicht mehr funktioniert. Der Fehler &H80004005 (Unbekannter Fehler) tritt häufig im Zusammenhang mit fehlerhaften Bibliotheksverknüpfungen, Sicherheitseinstellungen oder beschädigten Registrierungsschlüsseln nach einem Office-Update auf.

    Um das Problem einzugrenzen: Erscheint eine zweite, genauere Fehlermeldung, wenn Sie auf „OK“ klicken? Könnten Sie uns außerdem bitte mitteilen, welche Codezeile genau markiert wird, wenn Sie das Makro mit der Taste F8 schrittweise ausführen?

    Falls ja, überprüfen Sie bitte, ob sich Ihr Fall genauso verhält. Dies hilft uns festzustellen, ob Ihr Fall damit zusammenhängt und die nächsten Schritte genauer zu planen.

    Ich hoffe, Sie verstehen, dass ich nur über eine englische Umgebung verfüge und daher keinen Beispiellink in Ihrer Sprache bereitstellen kann.

    Dieser Artikel könnte hilfreich sein: VBA – Excel meldet „Systemfehler &H80004005 (-2147467259). Unbekannter Fehler“ – Stack O…

    Hinweis: Microsoft stellt Ihnen diese Informationen lediglich als Service zur Verfügung. Die verlinkten Websites werden nicht von Microsoft kontrolliert. Microsoft übernimmt keine Gewähr für die Qualität, Sicherheit oder Eignung der dort gefundenen Software oder Informationen. Bitte stellen Sie sicher, dass Sie die Risiken vollständig verstehen, bevor Sie Vorschläge über den obigen Link abrufen.

    Versuchen Sie in der Zwischenzeit bitte die folgenden Tipps, um zu sehen, ob diese helfen:

    Führen Sie in der Zwischenzeit bitte die folgenden Schritte aus, um häufige Probleme im Zusammenhang mit Updates zu beheben:

    Schritt 1: Überprüfen Sie, ob VBA-Verweise fehlen.

    Updates können manchmal Bibliotheksdateien (DLLs), die für ADO benötigt werden, deinstallieren oder verschieben.

    1. Öffnen Sie den VBA-Editor (Alt + F11).
    2. Gehen Sie zu „Extras“ > „Verweise“ DateiBearbeitenAnsichtEinfügenFormatDebuggenAusführenExtrasAdd-InsFensterHilfeProjekt - VBAProjectX52-00Verweise...Zusätzliche Steuerelemente...Makros...VBAProject (Book1)Microsoft Excel-ObjekteBlatt1 (Blatt1)DieseArbeitsmappeOptionen...VBAProject-Eigenschaften...Digitale Signatur...
    3. Prüfen Sie, ob Einträge mit der Bezeichnung „FEHLEND:“ vorhanden sind. Deaktivieren Sie diese gegebenenfalls und wählen Sie die neueste Version der Bibliothek „Microsoft ActiveX Data Objects“ erneut aus.
    4. Gehen Sie zu „Debuggen“ > „VBA-Projekt kompilieren“, um sicherzustellen, dass der Code syntaktisch korrekt ist.

    Schritt 2: Dateispeicherort als vertrauenswürdig einstufen

    Verschieben Sie die Arbeitsmappe in einen Ordner, den Sie als vertrauenswürdig festlegen, damit Office sie nicht in der geschützten Ansicht öffnet oder aktive Inhalte blockiert.

    • Excel: Datei > Optionen > Trust Center > Trust Center-Einstellungen > Vertrauenswürdige Speicherorte > Neuen Speicherort hinzufügen (aktivieren Sie ggf. „Unterordner ebenfalls als vertrauenswürdig“.)PowerPoint-OptionenTrust Center?XAllgemeinVertrauenswürdige HerausgeberRechtschreibungVertrauenswürdige SpeicherorteSpeichernVertrauenswürdige DokumenteSpracheVertrauenswürdige Add-In-KatalogeBarrierefreiheitAdd-InsErweitertActiveX-EinstellungenMenüband anpassenMakroeinstellungenSymbolleiste für den SchnellzugriffGeschützte AnsichtAdd-InsMeldungsleisteTrust CenterDateiblockierungseinstellungenDatenschutzoptionenFormularbasierte AnmeldungProtokolleinstellungenVertrauenswürdige SpeicherorteWarnung: Alle diese Speicherorte werden als vertrauenswürdige Quellen zum Öffnen von Dateien behandelt. Wenn Sie einen Speicherort ändern oder hinzufügen, stellen Sie sicher, dass der neue Speicherort sicher ist.PfadBeschreibungÄnderungsdatumBenutzerspeicherorteC:\Programme\Microsoft Office\root\TempPowerPoint-Standardspeicherort: Anwendungstemp...Vertrauenswürdiger Speicherort von Microsoft Office? XAdd-InsPlattenWarnung: Dieser Speicherort wird als vertrauenswürdige Quelle zum Öffnen von Dateien behandelt. Wenn Sie einen Speicherort ändern oder hinzufügen, stellen Sie sicher, dass der neue Speicherort sicher ist.Pfad:C:\Programme\Microsoft Office\root\Templates\Anwendungstemp...Durchsuchen...Unterordner dieses Speicherorts sind ebenfalls vertrauenswürdigBeschreibung:Erstellungsdatum und -uhrzeit: 13.11.2025 08:13 UhrOKAbbrechenBeschreibung:PowerPoint-Standardspeicherort: AnwendungsvorlagenÄnderungsdatum:Unterordner:ZulässigNeuen Speicherort hinzufügen.....EntfernenÄndern...OKVertrauenswürdige Speicherorte in meinem Netzwerk zulassen (nicht empfohlen)Alle vertrauenswürdigen Speicherorte deaktivierenAbbrechen

    Eine detaillierte Schritt-für-Schritt-Anleitung finden Sie in der offiziellen Microsoft-Dokumentation: Hinzufügen, Entfernen oder Ändern eines vertrauenswürdigen Speicherorts in Microsoft Office – Microsoft Support

    Schritt 3: Office-Installation reparieren

    Wenn das Update den ACE OLEDB-Treiber nicht korrekt registriert hat, ist eine Reparatur erforderlich.

    • Öffnen Sie die Systemsteuerung und wählen Sie „Programm deinstallieren“.
    • Wählen Sie Microsoft 365 aus, klicken Sie auf „Ändern“ und anschließend auf „Schnellreparatur“.
    • Wenn das Problem weiterhin besteht, versuchen Sie die Onlinereparatur. Diese führt eine gründlichere Neuregistrierung der Komponenten durch.

    Eine detaillierte Schritt-für-Schritt-Anleitung finden Sie in der offiziellen Microsoft-Dokumentation: Office-Anwendung reparieren – Microsoft Support

    Schritt 4: Test in einer neuen Arbeitsmappe

    Um eine Dateibeschädigung auszuschließen, exportieren Sie Ihr Makromodul und importieren Sie es in eine neue, leere Arbeitsmappe.

    • Klicken Sie im VBA-Editor (VBE) mit der rechten Maustaste auf Ihr Modul im Projekt-Explorer und wählen Sie „Datei exportieren…“.
    • Öffnen Sie eine neue Excel-Arbeitsmappe, öffnen Sie den VBA-Editor (Alt + F11), klicken Sie mit der rechten Maustaste im Projekt-Explorer und wählen Sie „Datei importieren…“. Projekt - VBA-Projekt5200XVBA-Projekt (Buch1)Microsoft Excel-ObjekteBlatt1 (Blatt1)DieseArbeitsmappeCode anzeigenObjekt anzeigenOrdner umschaltenVBA-Projekteigenschaften...EinfügenDatei importieren...Datei exportieren...DieseArbeitsmappe entfernen...Drucken...AndockbarAusblenden
    • Kopieren Sie eine kleine Beispieldatei Ihrer Daten in die neue Arbeitsmappe und versuchen Sie, das Makro auszuführen. Wenn es funktioniert, ist die Originaldatei möglicherweise beschädigt.

    Sie erwähnten, dass Sie die schrittweise Ausführung bereits versucht haben. Könnten Sie das Makro bitte erneut mit der Taste F8 ausführen und mir die genaue Codezeile mitteilen, die beim Erscheinen der Fehlermeldung markiert wird?

    Bitte haben Sie Verständnis dafür, dass unsere erste Antwort das Problem nicht immer sofort löst. Mit Ihrer Hilfe und detaillierteren Informationen können wir jedoch gemeinsam eine Lösung finden.

    Wir hoffen, dass diese Schritte zur Lösung des Problems beitragen. Sollten Sie Neuigkeiten haben oder weitere Unterstützung benötigen, kontaktieren Sie uns gerne.


    Wenn Ihnen die Antwort geholfen hat, klicken Sie bitte auf „Antwort akzeptieren“ und geben Sie ihr ein positives Feedback. Bei weiteren Fragen zu dieser Antwort klicken Sie bitte auf „Kommentar“.

    Hinweis: Um E-Mail-Benachrichtigungen zu diesem Thread zu erhalten, folgen Sie bitte den Anweisungen in unserer Dokumentation.

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare

Ihre Antwort

Antworten können von Fragestellenden als „Angenommen“ und von Moderierenden als „Empfohlen“ gekennzeichnet werden, wodurch Benutzende wissen, dass diese Antwort das Problem des Fragestellenden gelöst hat.