![]() |
Datenbank: mdb • Zugriff über: ado
Feld berechnen mal ja mal nein
Hiho Gemeinde
bitte schaut mal hier:
Delphi-Quellcode:
zum test übergebe ich der "upmenge" mal 0,5 dann mal 0,3
zupdateq.Close; zupdateq.SQL.Clear;
zupdateq.SQL.Add('UPDATE basisart SET '); zupdateq.SQL.Add('bestand=bestand-:UP1'); zupdateq.SQL.Add(' WHERE id=:UP2'); zupdateq.Prepared:=True; zupdateq.Parameters.FindParam('UP1').Value:=format('%f',[upmenge]); zupdateq.Parameters.FindParam('UP2').Value:=IntToStr(u_artnr); zupdateq.ExecSQL 0,5 wird korrekt ausgeführt und in "basisart" steht die korrekte neue Zahl unter "bestand". Mit 0,3 funktionier das nicht... Zum test lass ich mir die upmenge in einem Label anzeigen, alles korrekt. Aber trotzdem wird 0,3 nicht abgezogen...,nämlich garnichts Weiss jemand Rat? |
Re: Feld berechnen mal ja mal nein
Delphi-Quellcode:
zupdateq.Close;
zupdateq.SQL.Text := 'UPDATE basisart SET '; zupdateq.SQL.Add('bestand=bestand-:UP1'); zupdateq.SQL.Add(' WHERE id=:UP2'); zupdateq.Prepared:=True; zupdateq.Parameters.FindParam('UP1').Value:=upmenge; zupdateq.Parameters.FindParam('UP2').Value:=u_artnr; zupdateq.ExecSQL; |
Re: Feld berechnen mal ja mal nein
danke
tut sich auch nix upmenge ist ein String oder muss ich erst umwandeln? die Spalte bestand ist vom Typ double |
Re: Feld berechnen mal ja mal nein
Delphi-Quellcode:
zupdateq.Parameters.FindParam('UP1').Value:=StrToFloat(upmenge);
|
Re: Feld berechnen mal ja mal nein
es bleibt dabei
0,5 berechnet er korrekt 0,3 nicht PS: mkinzler, schläfst du auch manchmal? |
Re: Feld berechnen mal ja mal nein
Da es ein Double wert ist wird der ungenauer wenn er größere Zahlen darstellt.
Ab einer gewissen größe ist bestand = bestand -0,3 und bestand = bestand + 0,3 und so. teste es mal mit bestand = 1 aus das sollte dann gehen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz