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