Seite 1 von 1

Report macht Fehler bei geschachtelter IF-Bedingung

Verfasst: So 26. Apr 2015, 12:34
von miniaturbuch1
Hallo,
in einem Feld sollen zusammen Verlag und Jahr angezeigt werden. Jahr aber nur. wenn in einem anderen Feld (Reihen_Bez) nichts steht.

Code in der Datendeklaration des Feldes:
( IF ((["Verlag"]<>"");[Verlag]&". " ;"") & IF ((["Reihen_Bez"]<>""); ""; [Jahr]&". ") )
Ergebnis:
Verlag funktioniert. Jahr. wird angezeigt, aber wenn Jahr leer ist, wird leider das gesamte Feld (Verlag und Jahr) nicht angezeigt.

Code:
IF ((["Verlag"]<>"");[Verlag]&". " ;"") & IF ((["Reihen_Bez"]<>""); ""; IF ((["Jahr "]<>""); [Jahr]&". "; "" ) )
Ergebnis mit Fehler:
Verlag funktioniert, Jahr. wird angezeigt, egal ob Reihen_Bez leer ist oder nicht.

Was mach ich falsch oder kann das der Bericht nicht?
Freundliche Grüße,
minibuch

Re: Report macht Fehler bei geschachtelter IF-Bedingung

Verfasst: So 26. Apr 2015, 16:55
von RobertG
Hallo minibuch,

gleich vorweg: Ich nutze die Funktionen innerhalb des Report-Builders wenig. Was ich irgendwie vorher über Abfragen hin bekomme überlasse ich nicht diesen Funktionen. Der Report-Builder hat so schon genug zu bewerkstelligen, um überhaupt die Seitenstruktur auf die Beine zu stellen.

Wenn Du bei Abfragen ein leeres Feld mit einem anderen Feld verknüpft, dann ist das Ergebnis auch ein leeres Feld. Die Verknüpfung bei Funktionen wird da nicht anders sein. Mache aus "Jahr" über die Abfrage mit IFNULL("Jahr",'') AS "Jahr" einen leeren Text, wenn das Feld leer ist, und Du wirst mit einem leeren Text auch alle Kombinationen ermöglichen können.

Wenn Du ein Feld mit

Code: Alles auswählen

["Reihen_Bez"]<>""
abfragst, dann bedeutet das nur, dass darin kein leerer Text stehen darf. Sehr wohl darf das Feld NULL oder einen entsprechenden Inhalt haben.
Machst Du daraus

Code: Alles auswählen

LEN(["Reihen_Bez"]) > 0
so werden nur die Felder wieder gegeben, die einen Inhalt länger als kein Zeichen haben.

Übrigens: Die Feldbezeichnungen müssen nur dann in doppelten Anführungszeichen stehen, wenn darin Sonderzeichen, auch Leerzeichen, enthalten sind. Es schadet aber nicht, dort doppelte Anführungszeichen zu verwenden. Nur würde ich das dann konsequent durchhalten und nicht einmal ["Verlag"] und anschließend [Verlag] schreiben.

Gruß

Robert