AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Summen in TClientDataSet
Thema durchsuchen
Ansicht
Themen-Optionen

Summen in TClientDataSet

Ein Thema von Old M · begonnen am 2. Mär 2007 · letzter Beitrag vom 2. Mär 2007
Antwort Antwort
Old M

Registriert seit: 25. Feb 2007
7 Beiträge
 
Delphi 7 Professional
 
#1

Summen in TClientDataSet

  Alt 2. Mär 2007, 12:13
Datenbank: DBase • Zugriff über: MIDAS 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
  Mit Zitat antworten Zitat
daddy

Registriert seit: 9. Sep 2005
Ort: Köln
126 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Summen in TClientDataSet

  Alt 2. Mär 2007, 12:49
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 ...
  Mit Zitat antworten Zitat
Old M

Registriert seit: 25. Feb 2007
7 Beiträge
 
Delphi 7 Professional
 
#3

Re: Summen in TClientDataSet

  Alt 2. Mär 2007, 13:56
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

ich frage mich nur was denn das für felder sind die man zusätzlich in Neue Felder
erstellen kann


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
  Mit Zitat antworten Zitat
daddy

Registriert seit: 9. Sep 2005
Ort: Köln
126 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Summen in TClientDataSet

  Alt 2. Mär 2007, 15:18
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;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 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