![]() |
DBEdit während der Eingabe zusammenrechnen und ausgeben
Hallo wollte mal fragen ob man es machen kann, dass durch eingabe von zahlen in mehrere DBEdit felder ein summand gebildet werden kann, der anschlließend oder auch schon während der eingabe anderer edit felder alle bisherigen zahlen zusammenrechnet und in einem weiteren edit-feld angibt, damit man sie anschließend in einer dbgrid tabelle als "Gesamt" speichern kann
|
Re: DBEdit während der Eingabe zusammenrechnen und ausgeben
hallo !
Das sollte kein problem sein. Im Onchange ereignis der Kompo. die formel angeben und abfangen falls das feld noch ein nullstring ist: etwa so
Code:
mußt natürlich noch buchstaben und der gleichen abfangen
procedure TForm1.Edit1Change(Sender: TObject);
begin if edit1.Text = '' then edit1.Text:='0'; if edit2.Text = '' then edit2.Text:='0'; edit3.Text:=inttostr(strtoint(edit1.text) + strtoint(edit2.text)); end; procedure TForm1.Edit2Change(Sender: TObject); begin if edit1.Text = '' then edit1.Text:='0'; if edit2.Text = '' then edit2.Text:='0'; edit3.Text:=inttostr(strtoint(edit1.text) + strtoint(edit2.text)); end; mfg schniede |
Re: DBEdit während der Eingabe zusammenrechnen und ausgeben
Hallo coolstranger,
dazu könntet du ein CalcField zu der Tabelle hinzufügen und bei OnCalc die Summe über die Felder bilden.Bei OnPost überträgst du den Wert in ein (unsichtbares) Datenbankfeld Gesamt. |
Re: DBEdit während der Eingabe zusammenrechnen und ausgeben
@ schniede!
danke erstmal für die schnelle hilfe, aber das war nicht genau das, was ich suchte. @ mr spock! ich glaube das ist genau das, was ich gedacht habe. wo bekomme ich das CalcField her? Wie kann ich bei OnCalc die summe berechnen und per onpost an eine "gesamt" spalte senden? |
Re: DBEdit während der Eingabe zusammenrechnen und ausgeben
Sorry falls ich nerve aber das ist wichtig!
Mr Spock, wie kann ich über oncalc die summe der einzelnen felder bilden? |
Re: DBEdit während der Eingabe zusammenrechnen und ausgeben
Ich habe da was hinbekommen! Hier damit hat es geklappt:
Code:
Nur habe ich jetzt ein Problem. Er erfasst meine Eingegebenen Daten, nur wenn ich bei L1 und L2 zum Beispiel die Zahl 5 eingebe, erscheint im Fenster nacheinander eine 5! Also eigentlich soll es ja 5+5 sein und raus kommt 55.
procedure TForm1.ingoCalcFields(DataSet: TDataSet);
begin ingoGesamt.Value := ingoL1.Value + ingoL2.Value + ingoL3.Value + ingoL4.Value + ingoL5.Value + ingoL6.Value + ingoL7.Value + ingoL8.Value + ingoL9.Value; end; Was habe ich da falsch gemacht? |
Re: DBEdit während der Eingabe zusammenrechnen und ausgeben
Hai collstranger,
deine Felder ingoLx geben Dir bei Value wohl einen String zurück. Das bedeutet das Du einen String zusammen setzt. Versuche es mal so:
Code:
procedure TForm1.ingoCalcFields(DataSet: TDataSet);
begin ingoGesamt.Value := IntToStr ( StrToInt (ingoL1.Value) + StrToInt (ingoL2.Value) + StrToInt (ingoL3.Value)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 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