Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Im FastReport eine Datensatz mit <null>-Werten ausgeben (https://www.delphipraxis.net/148022-im-fastreport-eine-datensatz-mit-null-werten-ausgeben.html)

RWarnecke 20. Feb 2010 21:00


Im FastReport eine Datensatz mit <null>-Werten ausgebe
 
Hallo zusammen,

in einem FastReport gebe ich in einem GroupFooter verschiedene Werte aus. Dabei kann es vorkommen, dass eine komplette Reihe bei der SQL-Abfrage keine Werte findet und nur NULL als Ergebnis ausgibt. Im Moment ist es so, dass dann diese Reihe im Report nicht angezeigt wird. Ich möchte diese Reihe aber anzeigen. Für jedes NULL-Ergebnis soll dann 0,00 stehen.

Wie und was muss ich einstellen, dass die leere Reihe angezeigt wird ?

mkinzler 20. Feb 2010 21:01

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Ersetzt die werte am Besten in der Abfrage

RWarnecke 20. Feb 2010 21:14

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Hallo Markus,

danke erstmal für Deine Antwort. Es gibt dabie nur leider ein Problem, es ist eine variable Select-Abfrage. Das soll heißen, genachdem welche Werte vorher im Programm ermittelt wurden, ändert sich die Select-Abfrage in den Spalten, die ermittelt werden sollen. Dabei gibt es nur zwei Zustände, entweder sind alle 12 Spalten mit <null> oder in allen Spalten steht eine Zahl drin.

Deshalb hatte ich nach einem Weg über FastReport gesucht.

mkinzler 20. Feb 2010 21:27

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
FastReport reagiert leider recht empfindlich auf NULL-Werte. Deshalb sorge ich in der Abfrage durch IIF() Konstrukte für "richtige" Werte

RWarnecke 20. Feb 2010 21:52

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Das muss ich mir nochmal genauer anschauen bei mir. Danke erstmal für den Hinweis mit IIF-Abfragen. Es ist in meinem Fall doch etwas komplizierter als ich dachte. Ich werde es mir genauer anschauen, wenn ich etwas wacher bin.

Sir Rufo 21. Feb 2010 00:56

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Wenn du noch mitgeteilt hättest welche DB dahinter liegt ...

es gibt da nämlich das nette
SQL-Code:
COALESCE( Wert1, Wert2, ... )
das hilft dir, die NULL-Werte mit einem definierten Inhalt zu füllen.

RWarnecke 21. Feb 2010 07:29

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Hallo Sir Rufo,

danke erstmal für Deine Anwtort. Es ist eine Firebird Datenbank, woraus sich der Report die Daten zieht.

mkinzler 21. Feb 2010 10:34

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Oder halt IIF(), NullIf(), Case..When, ...

haentschman 21. Feb 2010 11:06

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Guten Morgen...

[OT] genau aus diesem Grund mag ich keine NULL Werte :zwinker: [/OT]

Zwischenfrage: wie soll das optisch aussehen ? Quasi die Reihen mit NULL als Lücken ?

Idee: Jeder DS hat doch eine ID (oder einen Wert an dem du die DS unterscheiden Kannst) welche eindeutig ist oder ? Lad die ID mit, damit du auch einen DS für die NULL in der Ergebnismenge bekommst und zeig die ID nicht an.

:hi:

RWarnecke 21. Feb 2010 11:21

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Die Null-Werte werden ja nur dann angezeigt, wenn die Select-Abfrage kein Ergebnis bringt. Die Select-Abfrage summiert verschiedene Werte zusammen, die dann wiederum in einem Endergebnis im Report angegeben werden. Das ganze mache ich 6 mal. So kommt jetzt bei einer der 6 Abfragen kein Ergebnis raus, so soll die leere Zeile im Report mit 0,00 angezeigt werden.
Hier ein konkretes Beispiel :
SQL-Code:
select T.KTO, T.KTOTEXT, sum(T."1") as Q1_1, sum(T."2") as Q1_2, sum(T."3") as Q1_3,
       sum(T."4") as Q1_4, sum(T."5") as Q1_5, sum(T."6") as Q1_6, sum(T."7") as Q1_7, sum(T."8") as Q1_8, sum(T."9") as Q1_9,
       sum(T."10") as Q1_10, sum(T."11") as Q1_11, sum(T."12") as Q1_12
from TEMP as T
where KTOARTNR = :KTOARTNR
group by T.KTO, T.KTOTEXT;
Wie bekomme ich ein Ergebnis mit 0,00 bei den Spalten mit SUM, wenn die WHERE-Clausel nicht zutrifft ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 Uhr.
Seite 1 von 3  1 23      

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