... fertiger Code ...
Hallo Paulsche,
das mit der WHERE-Klausel hätte ich auch nicht besser als corwin42 erklären können. Dir geht es wohl aber um einen konkreten Code.
Ich versuche das jetzt mal ganz einfach darzustellen.
1) Nehmen wir an, deine ID (darf nur einmal in der ganzen DB vorkommen) heißt "ID-001"
2) Du möchtest in deinen Feldern (Feld1 und Feld2) etwas ÄNDERN (= UPDATE)
dann sieht das ganz einfach so aus:
'...
SQLtnk.ExecNonQuery("UPDATE Tankdaten SET Feld1 = '"&EditText1.Text&"', Feld2 = '"&EditText2.Text&"' WHERE IDNummer = 'ID-001' ")
'...
Die Daten, die geändert werden sollen, befinden sich in den Textfeldern
EditText1 und
EditText2
und die IDNummer befindet sich in deinem "alten" Datensatz in der Spalte IDNummer (die muß dort also schon vorhanden sein).
Übersetzt in deinem Code sieht das dann wohl so aus:
'...
kfznr = 3
If TankenAendern > 0 Then
SQLtnk.ExecNonQuery("UPDATE Tankdaten SET kfzauswahl = '"&kfznr.Text&"', datum = '"&LBL01datTag.Text&"', ort = '"&LBL01datOrt.Text&"' WHERE IDNummer = 'ID-001' ")
Else
'...
Das funktioniert 100%-ig unter der Voraussetzung, dass die Daten aus Textfeldern stammen, die
kfznr und
datum und
ort heißen.
Jetz hast Du aber nicht nur einen einzigen Datensatz, der immer die IDNummer 'ID-001' hat. In diesem Fall muß bei der WHERE-Klausel natürlich immer wieder eine andere IDNummer eingelesen werden. Das geht so:
Du richtest Dir in deiner Maske irgendwo ein Textfeld oder ein Label (sichtbar oder unsichtbar) ein. Nehmen wir ein Textfeld mit dem Namen
IDNummerTextfeld.
In dieses Textfeld läßt Du beim Laden des Datensatzes aus deiner SQL-Datenbank diesen Wert (IDNummer) reinschreiben. Dann änderst Du deine restlichen Daten und startest den Code:
'...
kfznr = 3
If TankenAendern > 0 Then
SQLtnk.ExecNonQuery("UPDATE Tankdaten SET kfzauswahl = '"&kfznr.Text&"', datum = '"&LBL01datTag.Text&"', ort = '"&LBL01datOrt.Text&"' WHERE IDNummer = '"&IDNummerTextfeld.Text&"' ")
Else
'...
Ich hoffe Dir hilft das.