+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Summenvariable bei mehrfachverwendeten Tabellen


(Guest) #1

Hallo,

ich habe ein Dataset, das ich in einem Report mehrfach verwenden möchte.
Die Datentabelle liefert mir Daten für zwei verschiedene
Auftragsgruppen zurück. Daraus möchte ich drei Tabellen-Darstellungen
machen: Eine für jede Auftragsgruppe und eine für die gesamten Werte.
(Das geht nicht über eine Gruppierung, da zwischen den Tabellen jeweils
noch ein Chart erscheinen soll.) Innerhalb der Tabellen gibt es noch
eine weitere Gruppierung (nach dem Verkäufer), die ich auch problemlos
darstellen kann. Nun gebe ich für jeden Verkäufer eine Gesamtsumme aus,
die ich beim Gruppenwechsel auch wieder zurücksetze. Bei den ersten
beiden Tabellen habe ich jeweils einen Filter auf die Zeilen gesetzt, um
nur die jeweils gewünschte Auftragsgruppe zu erhalten. Bei der letzten
Tabelle gibt es dann keinen Filter mehr. Bei der letzten Tabelle stimmt
nun die Summe der ersten Gruppe nicht! Intern hat LL ja die Datentabelle
beim zweiten Durchlauf weiter durchlaufen, die Zeilen aber ausgeblendet,
weil sie zur ersten Auftragsgruppe gehören. Für die erste Gruppe in der
dritten Tabelle bekomme ich dann die Summe der jeweils letzten beiden
Gruppen der vorangegangenen Tabellen und die eigentliche Summe der
Gruppe. Wie kann ich das verhindern?

Uff, ganz schön viel Erklärung für mein Problem. Ich hoffe, dass das
jemand versteht und nachvollziehen kann und vor allem, dass jemand eine
Lösung für mich hat?

Meine Umgebung: List&Label 12 mit Delphi 7 gegen einen SQL-Server 2005.
Dabei arbeite ich mit der TDBL12-Komponente im AutoDefine-Modus.

Viele Grüße
Thomas


(Guest) #2

Hallo,

bin mir nicht 100%ig sicher Dein Problem verstanden zu haben, denke aber,
dass Du das mit drei getrennten Summenvariablen loesen koennen muesstest,
wenn Du zusaetzlich noch ein Flag miotlieferst, in welcher Tabelle Du gerade
bist. Die Summe koennte dann sowas wie

@SummeTabelle1 = Cond(<Flag fuer Tabelle 1 gesetzt>, , 0)

sein, d.h. die Summe wird nur in der “richtigen” Tabelle inkrementiert.

Hilft das?
G.


(Guest) #3

Hallo,

Dr. Guenther Schwarze schrieb am 11.02.2009 17:13:

Hallo,

bin mir nicht 100%ig sicher Dein Problem verstanden zu haben, denke aber,
dass Du das mit drei getrennten Summenvariablen loesen koennen muesstest,
wenn Du zusaetzlich noch ein Flag miotlieferst, in welcher Tabelle Du gerade
bist. Die Summe koennte dann sowas wie

@SummeTabelle1 = Cond(<Flag fuer Tabelle 1 gesetzt>, , 0)

sein, d.h. die Summe wird nur in der “richtigen” Tabelle inkrementiert.

vielen Dank für den Tipp, aber das hatte ich auch schon versucht. Das
Problem ist eben, dass ich ja immer die gleiche Datenbanktabelle habe.
Damit habe ich kein Kriterium für die Condition :frowning:

Aber ich habe gerade einen Ansatz entdeckt, wie es vielleicht mit der
SUM-Funktion klappen könnte.

Viele Grüße
Thomas