Zitat:
Nachtrag: geht das so irgenwie?
Delphi-Quellcode:
procedure tMyTableBeforePost(Dataset: TDataset);
begin
if Dataset.fieldbyname('EntryDateTime').asstring = '' then
Dataset.fieldbyname('EntryDateTime').clear ;
end;
Das Feld ist wirklich ein DATETIME, TIMESTAMP, oder sowas, also z.B. ein
TDateTimeField?
Dann liefert AsString immer einen DatumsString, außer das Feld ist NULL, wo es einen Leerstring zurück gibt.
Somit trifft dieses IF immer nur, wenn es bereist NULL ist und noch mehr NULL als NULL geht nicht,
weshalb Clear nichts ändern wird, da es funktional effektiv Folgendes ergäbe:
Delphi-Quellcode:
if Dataset.FieldByName('EntryDateTime').IsNull then
Dataset.FieldByName('EntryDateTime').Clear; // aka Dataset.FieldByName('EntryDateTime').Value := Null;