Einzelnen Beitrag anzeigen

LOMBI
(Gast)

n/a Beiträge
 
#10

Re: Letzte Änderung eines Datensatzes speichern

  Alt 23. Mär 2006, 17:16
Guten Abend marabu,

würdest Du bitte mal meinen Code ansehen, ob er so in Ordnung
ist:

Delphi-Quellcode:
type
  TDemoForm = class(TForm)
  private
    OldValues: array [1..26] of Variant
  // 26 Edits auf der Form
  end;

procedure TDemoForm.TableAfterEdit(DataSet: TDataSet);
var
  i: Integer;
begin
  with DataSet do
  begin
  for i := Low(OldValues) to High(OldValues) do
           OldValues[i] := Fields[i].Value;
  end;

procedure TDemoForm.TableBeforePost(DataSet: TDataSet);
var
  i: Integer;
  changed: Boolean;
begin
  changed := false;
  with DataSet do
  begin
    for i := Low(OldValues) to High(OldValues) do
    changed := changed or (OldValues[i] <> Fields[i].Value);
  end;
  if changed then
  DataSet['Update'] := Now;
end;

procedure TDemoForm.TableAfterCancel(DataSet: TDataSet);
var
  i: Interger;
begin
  with DataSet do
  begin
  for i := Low(OldValues) to High(OldValues) do
           OldValues[i] := Fields[i].Value;
end;
Mit diesem Code wird jede Datenänderung mit Datum festgehalten. Allerdings, wenn noch keine Adressen existieren
und die erste angelegt werden soll, dann erscheint folgende Fehlermeldung: "Ungültige Variantenoperation".

Was könnte ich noch verbessern?

Gruß
Lombi
  Mit Zitat antworten Zitat