![]() |
Datenbank: DBase • Zugriff über: MIDAS TClientDataSet
Summen in TClientDataSet
Ich habe in einem CDS 2 Felder (Menge und Artikel).
Da einige Artikel mit der selben Bezeichnung aber verschiedenen Mengen mehrmals auftreten möchte ich die Gesamtmenge je Artikel berechnen. Jetzt habe ich bei Neue Felder hinzufügen zwei neue Feldtypen entdeckt INTERNALCALC und SUMMENFELDER kann man eines dazu benutzen um Summen je Artikel zu berechnen ? und wenn ja wie :gruebel: |
Re: Summen in TClientDataSet
Wie wäre es mit folgendem Ansatz, bei dem die Daten direkt über das Select ermittelt werden und die Summenspalte somit direkt an das ClientDataSet übermittelt würde:
SQL-Code:
Select Artikel, Menge, (Select Sum(Menge) from Tabelle where ArtikelBez = T.ArtikelBez) as Summe
from Tabelle T where ... |
Re: Summen in TClientDataSet
das geht leider nicht da ich die Werte aus einem Textfile auslese
ist etwa so aufgebaut Artikel Menge Info Zusatz Artikel Menge Info Zusatz ... (wenn in zeile[i] ein Artikel gefunden wird dann Append und post ins CDS) und weil die Daten nur im Speicher liegen kann ich kein select erzeugen. aber vielleicht sollte ich die Daten erst mal in einen "echten table schreiben" was mich :wall: ich frage mich nur was denn das für felder sind die man zusätzlich in Neue Felder erstellen kann :gruebel: in der Onlinehilfe habe ich nur häppchen gefunden wenn ich nach InternalCalc gesucht habe bei felde hinzufügen gar nix in bezug auf InternalCalc und Summenfelder |
Re: Summen in TClientDataSet
Also, Du kannst über den Feld-Editor des ClientDataSets ein Feld (z.B. "MeinFeld" vom Typ Integer) zufügen, legst den Datentyp fest und markierst das Feld als "InternalCalc". Anschließend musst Du im Ereignis "OnCalcFields" des ClientDataSets folgenden Code einfügen:
Delphi-Quellcode:
if ClientDataSet.State = dsInternalCalc then
begin ... Wert berechnen ... ClientDataSetMeinFeld.AsInteger := <berechneter Wert>; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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 by Thomas Breitkreuz