Microsoft Excel

Herbers Excel/VBA-Archiv

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

SQL-UPDATE Query mit VBA ausführen

    Betrifft: SQL-UPDATE Query mit VBA ausführen von: Andreas
    Geschrieben am: 07.10.2003 15:00:15

    Was muss ich am folgenden Code ändern, damit der UPDATE-SQL-Query ausgeführt wird? Mit "Set rs = Db.OpenRecordset(SQL, dbOpenDynaset)" komme ich nicht weiter, aber auch stundenlanges Googeln hat nicht weitergeholfen. Vielleicht kann einer von euch helfen? Danke!

    Public

    Sub UpdateDB()
    
      Dim SQL As String
      lastrow = Cells.SpecialCells(xlCellTypeLastCell).Row
    
      'Datenbank öffnen
      Set Db = DBEngine.OpenDatabase("D:\Documents and Settings\Aemmert\My Documents\SQL-Access-Excel ODBC Test\Access Testdatenbank.mdb", False, False)
    
      For i = 2 To lastrow
      
      'Datensatz suchen
      SQL = "UPDATE Bestellungen Bestellungen SET Bestellungen.Frachtkosten = '" & Cells(i, 2) & "', Bestellungen.Umsatzsteuersatz = '" & Cells(i, 3) & "' WHERE Bestellungen.Bestellnr = '" & Cells(i, 1) & "'"
        
      Set rs = Db.OpenRecordset(SQL, dbOpenDynaset)
        
      Next i
      
      Db.Close
    End Sub
    

      


    Betrifft: AW: SQL-UPDATE Query mit VBA ausführen von: Karl-Otto Reimann
    Geschrieben am: 07.10.2003 16:26:45

    Hallo Andreas
    Ist Deine DAO-Bibliothek verfügbar?
    (Im VBA-Editor unter Extras/Verweise
    "Microsoft DAO 3.6 Object Library" ein Häkchen setzen)
    Gruß KO


      


    Betrifft: AW: SQL-UPDATE Query mit VBA ausführen von: Andreas
    Geschrieben am: 07.10.2003 16:34:46

    Ja, die DAO Bibliothek habe ich offen. Habe sowohl die DAO Objects 3.x sowie die MS Activex DO Library 2.x offen.


      


    Betrifft: AW: SQL-UPDATE Query mit VBA ausführen von: Karl-Otto Reimann
    Geschrieben am: 07.10.2003 17:09:25

    Bei mir funktioniert folgendes:

    Sub DAO_Findv()
    
      ' Bestimmung aller Bestellungen der Fa. VICTE
      ' (vorwärts suchen)
    
      Dim db As Database
      Dim rs As Recordset
      Dim knopf As Integer, anz As Integer
      Dim pfad As String
      
      pfad = "C:\VBA_Krs\"
      Set db = OpenDatabase(pfad & "Bestell.mdb")
      Set rs = db.OpenRecordset("Bestellungen", _
                                    dbOpenSnapshot)
      rs.FindFirst "[Kunden-Code]='VICTE'"
      anz = 1
      Do Until rs.NoMatch
        knopf = MsgBox(Prompt:= _
                          rs.Fields("Bestell-Nr") _
                  & " " & rs.Fields("Kunden-Code") _
                  & " " & rs.Fields("Bestelldatum") _
                  & vbNewLine & "anz = " & anz, _
                       Buttons:=vbOKCancel)
        If knopf = vbCancel Then Exit Do
        rs.FindNext "[Kunden-Code]='VICTE'"
        anz = anz + 1
      Loop
      rs.Close
      db.Close
    End Sub
    


    Noch Fragen?
    mfG KO