Delphi-PRAXiS
Seite 2 von 3     12 3      

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)

haentschman 21. Feb 2010 11:34

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
verstehe ich das richtig:

du machst 6 Abfragen, jede Abfrage liefert 1 DS, im Report willst du 6 Zeilen obwohl 1 Abfrage "leer" ist. Diese Zeile soll dann jeweils 0,00 in jedem Feld enthalten. Du übergibst dem Report 6 Datenmengen a 1 DS ?

RWarnecke 21. Feb 2010 11:40

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Zitat:

Zitat von haentschman
verstehe ich das richtig:

du machst 6 Abfragen, jede Abfrage liefert 1 DS, im Report willst du 6 Zeilen obwohl 1 Abfrage "leer" ist. Diese Zeile soll dann jeweils 0,00 in jedem Feld enthalten. Du übergibst dem Report 6 Datenmengen a 1 DS ?

Ja, es können aber auch mal 2 Abfragen leer sein.

haentschman 21. Feb 2010 11:46

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Liefert die "leere" Abfrage einen Datensatz mit NULL in den Summen oder ist der leere Datensatz nicht vorhanden ?

ist der Datensatz da und leer...
Zitat:

FastReport reagiert leider recht empfindlich auf NULL-Werte. Deshalb sorge ich in der Abfrage durch IIF() Konstrukte für "richtige" Werte
ist das der Weg. In jedem Feld... Ausdruckseditor - Daten - Andere IIF(,,)

:hi:

RWarnecke 21. Feb 2010 11:59

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Liste der Anhänge anzeigen (Anzahl: 1)
Im Report gibt es keine IIF-Abfragen. Dort werden die Werte 1:1 übergeben, so wie Sie im Datensatz stehen. Im Anhang ist ein Bild, was mir IBExpert und auch mein Programm zurückgibt, wennn die WHERE-Clausel kein Ergebnis findet. Aber statt <null> in den Spalten Q1_1 bis Q1_12 soll jetzt dort 0,00 stehen und somit als gültiger Datensatz an den Report übergeben werden.

Edit: Anhang nachgeschoben.

Sir Rufo 21. Feb 2010 12:00

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
wieso denn kein COALESCE ???

http://www.firebirdsql.org/manual/nu...nversions.html

btw: ich weiß nicht wie der firebird reagiert, aber bei mysql und mssql liefert sum ein NULL zurück, wenn mind. eine zeile dabei ist, wo ein NULL-Wert vorkommt.

Wenn soetwas passiert, dann würde ich immer mit COALESCE arbeiten
SQL-Code:
SELECT SUM( COALESCE( FooField, 0 ) ) FROM FooTab

RWarnecke 21. Feb 2010 12:07

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Zitat:

Zitat von Sir Rufo
wieso denn kein COALESCE ???

Wenn soetwas passiert, dann würde ich immer mit COALESCE arbeiten
SQL-Code:
SELECT SUM( COALESCE( FooField, 0 ) ) FROM FooTab

Ich habe Dein Beispiel 1:1 umgesetzt. Nur leider wird mir in der Spalte immer noch null angezeigt.

haentschman 21. Feb 2010 12:14

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Zitat:

Im Report gibt es keine IIF-Abfragen.
...doch.

Memo -> Bearbeiten - > Ausdruck einfügen -> im Ausdruckseditor Reiter Daten -> runterblättern bis Andere -> Ausdruck IIF wählen und ausfüllen. Dann wird der Inhalt des Memos abhängig einer Bedingung angezeigt. IIF(Bedingung,Wahr Wert,Falsch Wert)

RWarnecke 21. Feb 2010 12:18

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
Zitat:

Zitat von haentschman
Zitat:

Im Report gibt es keine IIF-Abfragen.
...doch.

Memo -> Bearbeiten - > Ausdruck einfügen -> im Ausdruckseditor Reiter Daten -> runterblättern bis Andere -> Ausdruck IIF wählen und ausfüllen. Dann wird der Inhalt des Memos abhängig einer Bedingung angezeigt. IIF(Bedingung,Wahr Wert,Falsch Wert)

Das weis ich. Ich meinte damit, dass ich in den Memos keine IIF-Abfrage drinhabe.

haentschman 21. Feb 2010 12:23

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
wenn ich den IBExpert Screenshot richtig interpretiere hast du gar keinen Datensatz. Die Datenmenge ist leer. IBExpert zeigt immer 1 Zeile an.
Hättest du einen Datensatz würde zumindest in KTO was drinstehen. Trifft diese Bedingung (aus deiner SQL) nicht zu hast du keinen Datensatz. Wie willst du was auswerten, was nicht da ist ? :gruebel:
Da mußt du mit der Datenmenge tricksen. Wenn nach der Abfrage die Datenmenge IsEmpty ist, fügst du einfach einen ein der in den Feldern 0,00 stehen hat.

Sir Rufo 21. Feb 2010 12:25

Re: Im FastReport eine Datensatz mit <null>-Werten aus
 
jo, bei gar nix hilft auch coalesce nicht weiter :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:00 Uhr.
Seite 2 von 3     12 3      

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