Jupp, einmal das falsche DataSet,
dann gibt es das "richtige" auch direkt als Parameter
und
DMED ...........
NIEMALS nicht aus einer Form/Objekt-Methode auf die globale Varaible zu dieser Form/Objekt zugreifen ... wenn man eine Variable braucht, dann nimmt man hier das
Self.
Delphi-Quellcode:
procedure TDMED.FDQVorgangAssignmentNewRecord(DataSet: TDataSet);
begin
DataSet.FieldByName('idBelKopf').AsString := FDQAssignment.FieldByName('idBelKopf').AsString;
DataSet.FieldByName('ixUserVon').AsString := FPreferences.CurrentUser.UserNameShort;
DataSet.FieldByName('ErfasstAm').AsDateTime := Now;
DataSet.FieldByName('ixSPAdr').AsString := FDQAssignment.FieldByName('ixSPAdr').AsString;
end;
Beim "ErfasstAm" könnte man sich eventuell noch streiten, ob es dann ist, wo man anfing, mit Einfügen, oder dann wenn man fertig war,
also ob das nicht besser erst im OnBeforePost aufgehoben ist, anstatt im OnAfterInsert ... bzw. in einem Trigger in der
DB (und das "ixUserVon" auch, falls es z.B. dem LoginName für DBConnection entspricht)