vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Problem mit Update Abfrage 
Autor: etzed
Datum: 27.05.08 15:42

Servus,
habe mit dem unten aufgeführten Code ein Problem. Ich speichere Daten in eine Access Tabelle und prüfe davor ob ein entsprechender Datenstz schon vorhanden ist. Falls ja sollen nur bestimmte Felder geändert werden. Speichern funktioniert einwandfrei. nur beim Updaten kommt Laufzeitfehler 3144
Wer kann helfen?

Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim strSQL As String
 
    '   Datenbank öffnen
    strSQL = App.Path
    If (Right$(strSQL, 1) <> "\") Then
        strSQL = strSQL & "\"
    End If
    strSQL = "Daten\Schnittdaten.mdb"
    Set db = OpenDatabase(strSQL)
 
    '   Evt. vorhandenen Datensatz raussuchen
   strSQL = "SELECT ID FROM Schnittdaten WHERE " & _
                                      "(Werkstoff = " & Chr$(39) & _
                                      txtWerkstoff.Text & Chr$(39) & ");"
    Set rs = db.OpenRecordset(strSQL, DAO.RecordsetTypeEnum.dbOpenSnapshot, _
    DAO.RecordsetOptionEnum.dbSQLPassThrough)
 
    '   Wurde ein Datensatz gefunden?
    If Not (rs.EOF) Then
        '   Ja, den gefundenen Datensatz ändern
        strSQL = "UPDATE Schnittdaten SET Drehzahl = " & Chr$(39) & _
          txtDrehzahl.Text & Chr$(39) & ", " & _
                                      "Bohren = " & Chr$(39) & txtBohren.Text & _
                                      Chr$(39) & ", " & _
                                      "Drehen = " & Chr$(39) & txtDrehen.Text & _
                                      Chr$(39) & ", " & _
                                      "Fräsen = " & Chr$(39) & txtFräsen.Text & _
                                      Chr$(39) & ", " & _
                                      " WHERE ID = " & rs.Fields("ID").Value & _
                                      ";"
    Else
        '   Nein, neuen Datensatz erstellen
        strSQL = "INSERT INTO Schnittdaten (Werkstoff, Drehzahl, Bohren," & _
          "Drehen, Fräsen) VALUES (" & _
                                      Chr$(39) & txtWerkstoff.Text & Chr$(39) & _
                                      ", " & _
                                      Chr$(39) & txtDrehzahl.Text & Chr$(39) & _
                                      ", " & _
                                      Chr$(39) & txtBohren.Text & Chr$(39) & "," & _
                                      "" & _
                                      Chr$(39) & txtDrehen.Text & Chr$(39) & "," & _
                                      "" & _
                                      Chr$(39) & txtFräsen.Text & Chr$(39) & _
                                      ");"
    End If
 
    '   Abfrage nach vorhandenem Datensatz schließen
    Call rs.Close
    Set rs = Nothing
 
    '   Änderungs-/Anfügeabfrage ausgeben und ausführen
    Call db.Execute(strSQL, DAO.RecordsetOptionEnum.dbSQLPassThrough)
 
    '   Datenbank schließen
    Call db.Close
    Set db = Nothing


Beitrag wurde zuletzt am 27.05.08 um 15:42:29 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem mit Update Abfrage1.183etzed27.05.08 15:42
Re: Problem mit Update Abfrage690ModeratorDieter27.05.08 15:54
Re: Problem mit Update Abfrage673etzed27.05.08 16:00

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel