[gelöst] Alle Werte einer Spalte addieren

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
l0lhaxx
Beiträge: 89
Registriert: Di 8. Dez 2015, 09:20

[gelöst] Alle Werte einer Spalte addieren

Beitrag von l0lhaxx »

Hallo,

ich versuche einer bestimmten Spalte (Distanz [km]) alle Zeilen zu Addieren (DBase). Ich komme aber immer den Wert Null ausgegeben, egal welche Werte in das DBGrid eingegeben werden. Jemand eine Idee warum?

Code: Alles auswählen

 
procedure TForm1.MenuItem3Click(Sender: TObject);
var
  Distanz: Integer;
 
begin
 
 Distanz:=0;
 Edit1.Caption:= inttostr (Distanz);
 Dbf1.First;
 
 while not Dbf1.EOF do
 begin
 Distanz:= Distanz+Dbf1.FieldByName('Distanz [KM]').AsInteger;
 Dbf1.Next;
 end;
 
end; 
 
Zuletzt geändert von l0lhaxx am Di 19. Apr 2016, 11:51, insgesamt 1-mal geändert.

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Alle Werte einer Spalte addieren

Beitrag von baumina »

Wenn deine Ausgabe nur Edit1.Caption ist, dann liegt das daran, dass du die Variable "Distanz" ausgibst, bevor sie berechnet wurde.
.

l0lhaxx
Beiträge: 89
Registriert: Di 8. Dez 2015, 09:20

Re: Alle Werte einer Spalte addieren

Beitrag von l0lhaxx »

So ein dummer Fehler. :oops:

Danke, klappt jetzt!!!

l0lhaxx
Beiträge: 89
Registriert: Di 8. Dez 2015, 09:20

Re: [gelöst] Alle Werte einer Spalte addieren

Beitrag von l0lhaxx »

hat jemand eine Ahnung wie ich bei Dbase den letzten Eintrag auswählen?

Mit

Code: Alles auswählen

 Form1.Dbf1.Last
funktioniert das ganze leider nicht....

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: [gelöst] Alle Werte einer Spalte addieren

Beitrag von Michl »

l0lhaxx hat geschrieben:Mit

Code: Alles auswählen

 Form1.Dbf1.Last
funktioniert das ganze leider nicht....
Hier schon. Warum bei dir nicht?

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Antworten