Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Hilfe ADO löschen mit Query -- Tino?

Betrifft: Hilfe ADO löschen mit Query -- Tino? von: Raphael H
Geschrieben am: 12.09.2014 09:13:34

Hallo zusammen,

ich habe wieder eine Frage zu ADO. Das mit dem Abrufen der Datensätze funktioniert mittlerweile sehr gut. Aber jetzt möchte ich gerne Datensätze mit Hilfe eines SQL Strings löschen. Ich sehe immer wieder Beispiele bei denen es funktioniert, ich bringe es bei mit allerdings nicht zum laufen.

Sub Datensatz_Loeschen()
    Dim sAdoConnectString   As String
    Dim sPfad               As String
    Dim sQuery              As String
    Dim cntCom              As Object
    
    Set cnt = CreateObject("Adodb.connection")
    Set cntCom = CreateObject("ADODB.command")
    
    sPfad = ThisWorkbook.Path & "\DBTest.xlsx" 'HIER ALLENFALLS NOCH DEN PFAD ANPASSEN
    
    
    sAdoConnectString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};HDR=1; _
IMEX=1;DBQ=" & sPfad & "; readonly=false;"
    
    cnt.Open sAdoConnectString
    sQuery = "DELETE FROM [Tabelle1$] WHERE Artikel='7'"
    
    With cntCom
        .ActiveConnection = cnt
        '.CommandType = adcmdtext
        .CommandText = sQuery
        .Execute
    End With

    
Aufraeumen:
    On Error Resume Next
    cnt.Close
    rec.Close
    Set rec = Nothing
    Set cnt = Nothing
    Exit Sub
    
Fehler:
    MsgBox "Fehler: " & Err.Description
    Resume Aufraeumen
End Sub
Würde mich freuen wenn jemand helfen kann.

Gruess
Raphael

https://www.herber.de/bbs/user/92588.xlsx
https://www.herber.de/bbs/user/92589.xlsm

  

Betrifft: AW: Hilfe ADO löschen mit Query -- Tino? von: Luschi
Geschrieben am: 12.09.2014 10:14:03

Hallo Raphael,

lt. http://support.microsoft.com/kb/257819/de können ganze Datensätze per ADODB in Excel-Tabellen nicht
gelöscht werden.
Muß mal noch ein bischen testen, denn da steht auch:
Sie können einen Datensatz nur löschen, indem Sie den Inhalt eines jeden einzelnen Feldes löschen.

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Hilfe ADO löschen mit Query -- Tino? von: Raphael H
Geschrieben am: 12.09.2014 14:05:32

Hallo Luschi,

besten Dank für deine Hilfe und die Info. Anscheinend habe ich das löschen ganzer Datensätze nur im Zusammenhang mit Access Datenbanken gesehen und das nicht wahrgenommen.

Ich denke eine Schleife zum löschen der einzelnen Datenfelder kann ich erstellen.

Gruess Raphael


 

Beiträge aus den Excel-Beispielen zum Thema "Hilfe ADO löschen mit Query -- Tino?"