Du hast hier einen Denkfehler:
Delphi-Quellcode:
if LieferscheinPos='' then LieferscheinPos:='0'
else data.DataModule1.CDSBUPs.FieldByName('LieferscheinPos').AsString:=LieferscheinPos;
Wenn LieferscheinPos '' ist, dann wird nix in die
DB geschrieben.
Es wird nur LieferscheinPos gesetzt.
Erst im else-Fall wird tatsächlich in die
DB geschrieben.
Ich würde es so umbauen:
Delphi-Quellcode:
if LieferscheinPos='' then
begin
LieferscheinPos:='0';
end;
data.DataModule1.CDSBUPs.FieldByName('LieferscheinPos').AsString:=LieferscheinPos;
Wenn der Wert '' ist, dann wird er zu '0'.
Anschliessend wird immer geschrieben, weil wenn der Wert nicht '' ist, kannst Du ja schreiben.
Dieser Denkfehler ist übrigens bei allen if so.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.