![]() |
Aufsummieren im Record
Hallo,
ich laufe hier nur noch im Kreis herum. :wall: Ich beschreibe mal was ich machen möchte: Ich habe in der Deklaration:
Delphi-Quellcode:
Streamknoten habe ich aus einer Textdatei gefüllt.
type TStreamKnoten = record
ID : Integer; ISIN : String[12]; B_S : String[1]; Nominal : Double; Kurs : Double; Betrag : Double; Commission : Double; end; var mstream: TMemoryStream; Streamknoten : TStreamKnoten; Jetzt will ich die Reihen auf summieren, die die gleiche ISIN und bei B_S den gleichen Wert haben. Also so (wenn ich eine Tabelle hätte):
SQL-Code:
Hat jemand eine Idee wie ich das mit diesem Record mache? - Ist bestimmt einfach. Ich sehe es nur nicht....
Select ISIN,
B_S, SUM(Nominal) as Nominal ..... Group by ISIN, B_S Danke |
Re: Aufsummieren im Record
Hallo,
ich muss mal nach fragen. Möchtest Du Die Summe Nominal für alle Records mit gleichem ISIM und B_S haben? Dann wäre das Ergebnis ein Double. Oder möchtest Du es tatsächlich so haben, wie das SQL Statement es leifern würde? Das wäre dann eine Liste von Records. Wobei jeder Record der Ergebnismenge die Summe der Records mit gleichem ISIM und B_S enthält. |
Re: Aufsummieren im Record
Ich möchtest die Summe Nominal usw. für alle Records mit gleicher ISIN und B_S haben.
Vielleicht verwirrt die SQL nur. Also z.b. ISIN1 || B || 100 ISIN2 || B || 2000 ISIN1 || B || 300 ISIN2 || S || 500 soll geben: ISIN1 || B || 400 ISIN2 || B || 2000 ISIN2 || S || 500 |
Re: Aufsummieren im Record
Hallo,
der SQL hat nicht verwirrt. Du möchtest es nämlich genau so haben. Ich würde so vorgehen. (Das setzt voraus, dass alle Records in einer Liste (TList o. Array oder so) sind. Das nennen wir mal Ausgangsliste. Das Ergebnis wird dann in der Zielliste gespeichert. - Itteriere über alle Records in der Ausgangsliste. - Füge die Records in die Zielliste. Überprüfe aber vorher, ob es nicht schon einen Record mit gleichem ISIN und B_S gibt. Wenn ja, addiere den Wert Nominal aus der Ausgangsliste zu dem Wert Nominal in der Zielliste. Wenn nein, dann füge den Record in die Zielliste. |
Re: Aufsummieren im Record
Ich habe kaum mit Records arbeiten müssen (dürfen) hättest du vielleicht auch ein bißchen code?
Danke schon mal. |
Re: Aufsummieren im Record
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe ein kleines Beispiel gebastelt. Ich lehne Records grundsätzlich ab. Deshalb basiert das Beispiel auf Objekten. In der unit sum_impl.pas ist das Objekt für die Daten (TStreamNode) und das Verwaltungsobjekt (TStreamNodes) deklariert. |
Re: Aufsummieren im Record
Tausend Danke!!!
Du hast mir sehr geholfen!! :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 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