Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   FastReport - Summe ausgeben auch ohne Daten (https://www.delphipraxis.net/168145-fastreport-summe-ausgeben-auch-ohne-daten.html)

DeddyH 7. Mai 2012 13:40

FastReport - Summe ausgeben auch ohne Daten
 
Zugegeben, der Titel klingt bescheuert. Mein Problem ist: ich müsste Text mit einer Summe in jedem Fall ausdrucken und greife hier auf ein gefiltertes Dataset zu. Es kann allerdings sein, dass es keinen entsprechenden Datensatz gibt, in dem Fall möchte ich einfach eine 0-Summe ausgeben. Dummerweise wird ohne Daten das ganze Band gar nicht erst gedruckt, ich habe es auch schon mit selbst definierten Variablen mit IIF-Funktion probiert, nicht hilft. Momentaner Versuchsaufbau:
Code:
[Header]
[MasterData - Dataset]
Variable [Var] (IIF(Dataset.Feld = NULL, 0, Dataset.Feld))
[Footer]
SUM([Var])
Stelle ich mich zu blöd an, oder ist das einfach nicht zu machen?

user0815 7. Mai 2012 13:46

AW: FastReport - Summe ausgeben auch ohne Daten
 
beschäftige mich ja auch noch nicht so lange damit... aber kann man nicht einfach einen Rechtsklick auf den Detail ausführen und dann anhaken: "Print If Detail Empty" auswählen

DeddyH 7. Mai 2012 13:53

AW: FastReport - Summe ausgeben auch ohne Daten
 
Danke für die Antwort, aber dazu bräuchte ich ja trotzdem eine nicht-leere Datenmenge.

p80286 7. Mai 2012 14:25

AW: FastReport - Summe ausgeben auch ohne Daten
 
Ich schleppe in solchen Fällen immer ein Count mit.
Ungefähr so:

Code:
select decode(count(felder),0,'0',(select sum(felder) from Daten where Bedingungen)) as meinesumme
from Daten where Bedingungen
nicht so schön, hat aber bisher funktioniert.
Bei öfters wiederkehrender Nutzung könnte man auch zwei views kombinieren, oder ggf. eine function hinterlegen

Gruß
K-H

DeddyH 7. Mai 2012 14:38

AW: FastReport - Summe ausgeben auch ohne Daten
 
Auf das Dataset habe ich leider nur sehr begrenzten Einfluss (Endbenutzer-Edition, innerhalb eines ORM-Frameworks auch noch modifiziert). Wie ich gerade feststellen konnte kann ich mir aber behelfen, indem ich entsprechende Masterbänder auf den Report setze und auf unsichtbar stelle. Mittels FastScript kann ich dann "zu Fuß" aufsummieren und das Ergebnis letztendlich in einer Report-Zusammenfassung ausgeben. Schön ist anders, aber damit muss ich wohl leben.

Bebe 7. Mai 2012 15:14

AW: FastReport - Summe ausgeben auch ohne Daten
 
So wie ich das sehe, wird der Footer ausgeblendet, wenn keine Daten im Masterband enthalten sind. Der Footer gehört zum Masterband und kann auch nicht ohne Masterband angezeigt werden.

Mit einer Gruppe (Header und Footer) kann man ein Summenfeld in der Gruppenfusszeile anzeigen lassen. Wäre das eine Möglichkeit?
Dann wird auch eine "0" angezeigt, wenn keine Daten vorhanden sind.

Gruß
Matze

DeddyH 7. Mai 2012 15:21

AW: FastReport - Summe ausgeben auch ohne Daten
 
Ohne Daten keine Gruppe (wie auch?), daher auch kein sichtbarer Gruppenfuß. Ich dachte ja, dass es dann ohne Gruppierung funktionieren könnte, indem ich auf Header und Footer umsteige, aber selber Effekt. Bevor ich nun aber ewig herumprobiere, mache ich das halt per Scripting.
Danke Dir trotzdem :)

Lemmy 7. Mai 2012 15:30

AW: FastReport - Summe ausgeben auch ohne Daten
 
Dann mach doch anstelle des Footers eine Reportzusammenfassung, die kommt immer auch wenn keine Daten kommen...

Grüße

Bebe 7. Mai 2012 15:34

AW: FastReport - Summe ausgeben auch ohne Daten
 
Du hast Recht.... :(

Ich hatte es vorher ausprobiert und hatte eine Null, aber da muss ich wohl einen Fehler gemacht haben.
Jetzt stimmt deine Aussage mit meinen kleinen Test überein. Also nicht nur Footer, sondern auch der Groupfooter wird ausgeblendet, wenn kein Daten im Masterband vorhanden sind.

Gruß
Matze

DeddyH 7. Mai 2012 15:44

AW: FastReport - Summe ausgeben auch ohne Daten
 
Zitat:

Zitat von Lemmy (Beitrag 1165211)
Dann mach doch anstelle des Footers eine Reportzusammenfassung, die kommt immer auch wenn keine Daten kommen...

Bin gerade dabei :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:12 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