Daten überschreiben
Mal wieder ein Problem, dass für die meisten von euch ganz einfach ist, aber ich komm einfach nicht drauf.
Ich einem Edit-Feld wir eine Zahl reingeschrieben, durch einen Button wird diese in einer Paradox-Tabelle gespeichert und das Formular geschlossen. Wenn ich das Formular nun wieder aufrufe, wird der Wert aus der Datenbank wieder ausgelesen und ins Edit reingeschrieben. Möchte ich jetzt gerne die Zahl abändern und dann eben durch den Buttonklick wieder speichern, so legt er mir einen zweiten Datensatz an. Ich möchte aber, dass der alte überschrieben wird. Sollte zwar eigentlich recht simple sein, aber ich hab echt keine Ahnung, wie ich das anstellen soll. Kann es sein, dass ich vorher irgendwie mit FindKey([id]) oder so arbeiten muss? Oder vorher vielleicht die ganze Tabelle leeren? Kann mir bitte wer helfen? |
Re: Daten überschreiben
Hallo,
also du must dir im klaren sein, welcher Datensatz gerade aktiv ist. Welchen Code bentutzt du wenn du auf den Button klickst? Gruß Minz |
Re: Daten überschreiben
Das ist mein Code für das Eintragen:
Delphi-Quellcode:
procedure Tdm_userverw.StdEintragen;
begin // Dialogfenster: Sicherheitsabfrage vor dem Speichern if MessageDlg('Möchten Sie die Daten wirklich speichern?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin Try With tbl_std_aendern do begin Open; FieldByName('schulek').AsString := dlg_std_aendern.edt_std_schulek.Text; Post; // Fehlerausgabe end; Except on e:Exception do begin ShowMessage(e.Message); end; end; end; // schließt das Formular nach OK-Klick dlg_std_aendern.Close; end; |
Re: Daten überschreiben
Hast du denn immer nur einen Eintrag in der Tabelle?
Oder welcher soll beim Öffnen deines Programms aktiv sein? Der letzte? Dann probier mal Table.Last aus. Gruß Minz Achso: vielleicht würde dir auch eine TDBEdit-Komponente helfen. |
Re: Daten überschreiben
Ja, in dieser Tabelle steht nur der eine Eintrag.
|
Re: Daten überschreiben
Naja dann kannst ja alles benutzen:
entweder Table.first oder Table.last oder Table:=RecNo:=0; (glaub das fängt bei 0 an) dann Table.edit; Table.FieldByName('Schulek').AsString:=Text; Table.post; einen neuen Datensatz sollte er da eigentlich nicht anlegen. Gruß Minz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz