Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TClientDataSet - Spaltenwerte addieren (https://www.delphipraxis.net/111110-tclientdataset-spaltenwerte-addieren.html)

ferby 29. Mär 2008 18:20

Datenbank: MyBase • Zugriff über: ClientDataSet / DataSource

TClientDataSet - Spaltenwerte addieren
 
Hallo,

Ich habe eine Datenbank in der
1) Name (string)
2) Alter (integer)

pro Datensatz gespeichert werden.


In dieser Datenbank sind ca. 1000 Datensätze.


Ich möchte jetzt das Durschnittsalter ausgeben.
Daher meine Frage: Wie kann ich die Werte der zweiten Spalte (Alter) möglichst einfach addieren?

Gibt es da schon eine funktion in ClientDataSet, weil ich find keine.

Oder muss ich das mit einer Schleife machen, der jeden Datensatz einzeln ließt und das Alter addiert?

DeddyH 29. Mär 2008 18:23

Re: TClientDataSet - Spaltenwerte addieren
 
Ich hab noch nie was mit MyBase gemacht. Wird da SQL unterstützt?

ferby 29. Mär 2008 18:37

Re: TClientDataSet - Spaltenwerte addieren
 
Hallo,

nein wird nicht unterstützt.

DeddyH 29. Mär 2008 18:39

Re: TClientDataSet - Spaltenwerte addieren
 
Dann fürchte ich, Du musst wirklich mit einer Schleife hantieren.

ferby 30. Mär 2008 00:54

Re: TClientDataSet - Spaltenwerte addieren
 
Hmm, schade, hätte gedacht das sogut wie jede Datebank so eine Funktion unterstützt...
aber was solls, dann mach ichs halt mit ner schleife

omata 30. Mär 2008 03:52

Re: TClientDataSet - Spaltenwerte addieren
 
Klar geht das.

Mach einen Doppelklick auf dein ClientDataSet und erstelle im Field-Editor ein neues Feld mit dem Typ "Aggregate" und einem Feldtyp "Zusammenf.". Im erstellten Feld unter Expression gibst du dann AVG(<feldname>) ein und schaltest Active = true. Zusätzlich muss noch im ClientDataSet die Eigenschaft "AggregatsActive" = true gesetzt werden. Dann kannst du zum Beispiel ein DBEdit auf den DataSource vom ClientDataSet stellen und dort das neue Feld auswählen. Fertig.

Gruss
Thorsten

ferby 30. Mär 2008 12:50

Re: TClientDataSet - Spaltenwerte addieren
 
super, werd ich gleich mal ausprobieren


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz