🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Report macht Fehler bei geschachtelter IF-Bedingung

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
miniaturbuch1
Beiträge: 11
Registriert: So 2. Nov 2014, 14:09

Report macht Fehler bei geschachtelter IF-Bedingung

Beitrag von miniaturbuch1 » So 26. Apr 2015, 12:34

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

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Report macht Fehler bei geschachtelter IF-Bedingung

Beitrag von RobertG » So 26. Apr 2015, 16:55

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
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten