Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Letzte Änderung eines Datensatzes speichern (https://www.delphipraxis.net/65525-letzte-aenderung-eines-datensatzes-speichern.html)

marabu 23. Mär 2006 19:28

Re: Letzte Änderung eines Datensatzes speichern
 
Hi Lombi,

die Dimensionierung des Array hat nichts mit der Anzahl der Edits auf der Form zu tun, sondern eher mit der Anzahl der Felder im DataSet. Für den Insert-Mode musst du noch eine Erweiterung im Ereignis OnBeforePost() machen:

Delphi-Quellcode:
procedure TDemoForm.TableBeforePost(DataSet: TDataSet);
var
  i: Integer;
  changed: Boolean;
begin
  with DataSet do
  begin
    changed := State = dsInsert;
    i := Low(OldValues);
    while not changed and (i <= High(OldValues) do
    begin
      changed := changed or (OldValues[i] <> Fields[i].Value);
      Inc(i);
    end;
  end;
  if changed then
    DataSet['Update'] := Now;
end;
Ich habe den Code nicht getestet. Die Schleife soll verlassen werden, sobald eine Änderung entdeckt wird. Bei Neuzugängen soll der Zeitstempel ohne Prüfung geschrieben werden.

Grüße vom marabu

LOMBI 24. Mär 2006 12:51

Re: Letzte Änderung eines Datensatzes speichern
 
Herzlichen Dank marabu für Deine Hilfe. Die Datumsanzeige
funktioniert jetzt so wie ich das wollte.

Letzte Frage: Was bedeutet Inc(i);?

Danke nochmals!

Lombi

mkinzler 24. Mär 2006 12:53

Re: Letzte Änderung eines Datensatzes speichern
 
Ikrementiere i,
Delphi-Quellcode:
also i := i +1;


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz