![]() |
Summieren von Datensätzen!!
Also Leutz HI
Und zwar habe ich folgenden Code gefunden.
Delphi-Quellcode:
Wie kann ich diesen Code jetzt so ändern das, das Programm mir eine Ausgabe macht wie oft jetzt das Wort Radiergummi in der DB vorkommt??
procedure TForm1.Button1Click(Sender: TObject);
var gesamtzahl: integer; begin // Verhindern, dass die Anzeige ständig aktualisiert wird: Table1.DisableControls; Table1.first; gesamtzahl:=0; while not Table1.eof do begin if Table1.FieldByName('Artikel').AsString='Radiergummi' then gesamtzahl:=gesamtzahl+Table1.FieldByName('Anzahl').AsInteger; Table1.next; end; Table1.EnableControls; Label1.Caption:='Radiergummis: '+IntToStr(gesamtzahl); end; |
Re: Summieren von Datensätzen!!
Ist Okeh Leute habe es eben selber zufällig rausbekommen.
Hier der geänderte Code
Delphi-Quellcode:
Ist zwar an mein Programm angepasst, aber ihr werdet den Unterschied bestimmt sehen!! :-D
procedure TForm2.Button1Click(Sender: TObject);
var gesamtzahl: integer; begin // Verhindern, dass die Anzeige ständig aktualisiert wird: DataModule2.TableVideo.DisableControls; DataModule2.TableVideo.First; gesamtzahl:=0; while not DataModule2.TableVideo.Eof do begin if DataModule2.TableVideo.FieldByName('Genre').AsString = LabeledEdit1.Text then gesamtzahl:=gesamtzahl+DataModule2.TableVideo.IndexFieldCount; DataModule2.TableVideo.Next; end; DataModule2.TableVideo.EnableControls; Label1.Caption:=LabeledEdit1.Text+': '+IntToStr(gesamtzahl); end; |
Re: Summieren von Datensätzen!!
@Cancer
dein code hat einen Fehler
Delphi-Quellcode:
und um die Anzahl der Daten zu finden gibst 2 Möglichkeiten die halbwegs schnell sind
gesamtzahl:=gesamtzahl+DataModule2.TableVideo.IndexFieldCount;
müsste gesamtzahl:=gesamtzahl+1; heissen sonnst zählt er jedesmal die Anzahl der Felder der Tabelle hoch und nicht die Anzahl (felder*AnzTyp) und du wilst doch AnzTyp haben :wink: . 1.
Delphi-Quellcode:
2. Die schnellste
Table.Filter:='typ='+#39+Typ+#39;
Table.Filtered:=True; anzahl:=Table1.RecordCount;
SQL-Code:
SELECT COUNT(typ) as anzahl
FROM tabname WHERE typ=:typ
Delphi-Quellcode:
Query1.ParamByName('typ').Text:=Typ;
Query1.Active:=True; Anzahl:=Query1.FieldByName('anzahl').Value; Query1.Active:=False; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 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