Definieren von Bedingungen

Bedingungen sind logische Ausdrücke, mit denen Sie die Anzeige von Feldbefehlen und Bereichen in Ihrem Dokument steuern können. Die folgenden Beispiele beziehen sich zwar auf Feldbefehle, sind jedoch auch auf Bereiche anwendbar.

Sie können Bedingungen für folgende Arten von Feldbefehlen definieren:

  1. Bedingter Text: Zeigt Text A an, wenn die Bedingung erfüllt ist, oder Text B, wenn sie nicht erfüllt ist.

  2. Versteckter Text: Versteckt den Feldinhalt, wenn die Bedingung erfüllt ist.

  3. Versteckter Absatz: Versteckt den Absatz, wenn die Bedingung erfüllt ist.

  4. Beliebiger Datensatz und nächster Datensatz: Steuert den Zugriff auf Datensätze in einer Datenbank.

Am einfachsten definieren Sie eine Bedingung, indem Sie unter Verwendung der folgenden Werte den logischen Ausdruck direkt in eines der Felder Bedingung eingeben:

WAHR

Die Bedingung ist immer erfüllt. Alternativ können Sie auch einen beliebigen Wert ungleich 0 als Bedingungstext eintragen.

FALSCH

Die Bedingung ist nicht erfüllt. Alternativ können Sie auch den Wert 0 angeben.


Notizsymbol

Wenn Sie das Feld Bedingung leer lassen, wird die Bedingung als nicht erfüllt interpretiert.


Verwenden Sie beim Definieren von Bedingungen dieselben Elemente wie beim Definieren einer Formel: Vergleichsoperatoren, mathematische und statistische Funktionen, Zahlenformate, Variablen und Konstanten.

Beim Definieren einer Bedingung können Sie folgende Variablenarten verwenden:

  1. Vordefinierte LibreOffice-Variablen auf Basis statistischer Angaben zu Dokumenteigenschaften

  2. Benutzerdefinierte Variablen, die mit dem Feldbefehl "Variable setzen" erstellt werden

  3. Variablen auf Grundlage von Benutzerdaten

  4. Variablen auf Grundlage von Datenbank-Feldinhalten

Interne Variablen, beispielsweise Seiten- oder Kapitelnummern, können Sie in Bedingungsausdrücken nicht verwenden.

Bedingungen und Variablen

Die folgenden Beispiele verwenden eine Variable namens "x":

x == 1 oder x EQ 1

Die Bedingung ist erfüllt, wenn "x" gleich 1 ist.

x != 1 oder x NEQ 1

Die Bedingung ist erfüllt, wenn "x" ungleich 1 ist.

sinx == 0

Die Bedingung ist erfüllt, wenn "x" ein Vielfaches von Pi ist.


Um Vergleichsoperatoren mit Zeichenketten zu verwenden, müssen die Operanden in doppelte Anführungszeichen eingeschlossen werden:

x == "ABC" oder x EQ "ABC"

Prüft, ob die Variable "x" die Zeichenkette "ABC" enthält (wahr = Bedingung erfüllt) oder nicht (falsch = Bedingung nicht erfüllt).

x == "" oder x EQ ""

beziehungsweise

!x oder NOT x

Prüft, ob die Variable "x" eine leere Zeichenkette enthält.


Notizsymbol

Der Vergleichsoperator "ist gleich" muss in Bedingungen durch ein doppeltes Gleichheitszeichen (==) dargestellt werden. Wenn Sie beispielsweise eine Variable "x" mit dem Wert 1 definieren, können Sie die Bedingung als x==1 eingeben.


Benutzerdaten

Sie können Benutzerdaten mit einbeziehen, wenn Sie Bedingungen definieren. Um Ihre Benutzerdaten zu ändern, wählen Sie - LibreOffice - Benutzerdaten. Benutzerdaten müssen als Zeichenketten eingegeben werden. Sie können die Benutzerdaten mit "==" (ist gleich), "!=" (ist nicht gleich) oder "!" (nicht) abfragen.

In der folgenden Tabelle sind die Benutzerdaten-Variablen und ihre Bedeutung aufgelistet:

Variable

Bedeutung

user_firstname

Vorname

user_lastname

Nachname

user_initials

Kürzel

user_company

Firma

user_street

Straße

user_country

Land

user_zipcode

Postleitzahl

user_city

Ort

user_title

Titel

user_position

Position

user_tel_work

Geschäftliche Telefonnummer

user_tel_home

Private Telefonnummer

user_fax

Faxnummer

user_email

E-Mail-Adresse

user_state

Staat (nicht in allen LibreOffice Versionen)


Um beispielsweise einen Absatz, Text oder Bereich vor einem Benutzer mit bestimmten Initialen (beispielsweise "LM") zu verbergen, geben Sie folgende Bedingung ein: user_initials=="LM".

Bedingungen und Datenbankfelder

Sie können Bedingungen zum Zugriff auf Datenbanken oder Datenbankfelder definieren. Beispielsweise können Sie in einer Bedingung den Inhalt eines Datenbankfelds überprüfen oder Datenbankfelder in logischen Ausdrücken verwenden. In folgender Tabelle finden Sie einige weitere Beispiele zur Verwendung von Datenbanken in Bedingungen:

Beispiel

Bedeutung

Datenbank.Tabelle.Firma

Datenbank.Tabelle.Firma NEQ ""

Datenbank.Tabelle.Firma != ""

Liefert Wahr, wenn das Datenfeld FIRMA gefüllt ist. (Im ersten Beispiel ist kein Operator erforderlich.)

!Datenbank.Tabelle.Firma

NOT Datenbank.Tabelle.Firma

Datenbank.Tabelle.Firma EQ ""

Datenbank.Tabelle.Firma == ""

Gibt WAHR zurück, wenn das Feld FIRMA leer ist.

Datenbank.Tabelle.Firma !="Sun"

Datenbank.Tabelle.Firma NEQ "Sun"

Gibt WAHR zurück, wenn der aktuelle Eintrag im Feld FIRMA nicht "Sun" ist. (Das Ausrufezeichen steht für das logische NOT.)

Datenbank.Tabelle.Vorname AND Datenbank.Tabelle.Name

Liefert Wahr, wenn der Datensatz sowohl Vor- als auch Nachnamen enthält.


Notizsymbol

Beachten Sie den Unterschied zwischen dem logischen Nicht "!" (NOT) und dem Vergleichsoperator Ungleich "!=" (NEQ).


Wenn Sie in einer Bedingung auf ein Datenbankfeld Bezug nehmen, verwenden Sie die Form Datenbankname.Tabellenname.Feldname. Wenn einer der Namen ein Operatorzeichen enthält, beispielsweise ein Minuszeichen (-), müssen Sie den Namen in eckige Klammern einschließen. Beispiel: Datenbankname.[Tabellen-Name].Feldname. Innerhalb von Feldnamen dürfen keine Leerzeichen verwendet werden.

Beispiel: Verstecken von leeren Datenbankfeldern

Sie können eine Bedingung erstellen, die leere Felder verbirgt, beispielsweise wenn das Feld FIRMA für einige Datensätze keine Angaben enthält.

Wählen Sie Versteckter Absatz und geben Sie folgende Bedingung ein: Adressbuch.Adressen.Firma EQ "".

oder

NOT Adressbuch.Adressen.Firma

Wenn das Datenbankfeld FIRMA leer ist, ist die Bedingung erfüllt, und der Absatz wird verborgen.

Notizsymbol

Um versteckte Absätze am Bildschirm anzuzeigen, wählen Sie - LibreOffice Writer - Formatierungshilfen und deaktivieren das Markierfeld Felder: Versteckte Absätze.


Beispiele für Bedingungen in Feldbefehlen

Die folgenden Beispiele verwenden den Feldbefehl "Bedingter Text", gelten jedoch auch für alle anderen Feldbefehle, die sich mit einer Bedingung verknüpfen lassen. Die für Bedingungen verwendete Syntax wird auch für die Feldbefehle "Versteckter Text", "Versteckter Absatz", "Beliebiger Datensatz" und "Nächster Datensatz" verwendet.

So lassen Sie bedingten Text auf Grundlage der Seitenanzahl anzeigen:

  1. Wählen Sie Einfügen - Feldbefehl - Weitere Feldbefehle... und das Register Funktionen.

  2. Klicken Sie in der Liste Feldtyp auf "Bedingter Text".

  3. Geben Sie im Feld Bedingung den Ausdruck "Page == 1" ein.

  4. Geben Sie im Feld Dann den Text "Das Dokument hat nur eine Seite" ein.

  5. Geben Sie im Feld Sonst den Text "Das Dokument hat mehrere Seiten" ein.

  6. Klicken Sie auf Einfügen und dann auf Schließen.

So lassen Sie bedingten Text auf Grundlage einer benutzerdefinierten Variable anzeigen:

  1. Wählen Sie Einfügen - Feldbefehl - Weitere Feldbefehle... und das Register Variablen.

  2. Klicken Sie in der Liste Feldtyp auf "Variable setzen".

  3. Geben Sie im Feld Name "Gewinn" ein.

  4. Geben Sie im Feld Wert den Wert "5000" ein.

  5. Klicken Sie auf Einfügen.

  6. Klicken Sie auf das Register Funktionen und anschließend in der Liste Feldtyp auf "Bedingter Text".

  7. Geben Sie im Feld Bedingung den Ausdruck "Gewinn < 5000" ein.

  8. Geben Sie im Feld Dann den Text "Ziel ist nicht erreicht" ein.

  9. Geben Sie im Feld Sonst den Text "Ziel ist erreicht" ein.

  10. Klicken Sie auf Einfügen.

Um den Inhalt der Variablen "Gewinn" zu bearbeiten, doppelklicken Sie auf das Variablenfeld.

So lassen Sie bedingten Text auf Grundlage von Datenbank-Feldinhalten anzeigen:

Der erste Teil dieses Beispiels fügt ein Leerzeichen zwischen den Feldern "Vorname" und "Nachname" in einem Dokument ein, und der zweite Teil fügt ausgehend vom Inhalt eines Feldes Text ein. Für dieses Beispiel muss eine Adressdatenquelle in LibreOffice registriert sein.

  1. Wählen Sie Einfügen - Feldbefehl - Weitere Feldbefehle... und das Register Datenbank.

  2. Wählen Sie in der Liste Feldtyp die Option "Seriendruck-Feld".

  3. Doppelklicken Sie im Feld Datenbankauswahl auf ein Adressbuch, klicken Sie auf "Vorname" und dann auf Einfügen. Wiederholen Sie diese Schritte für das Feld "Nachname".

  4. Setzen Sie den Cursor im Dokument zwischen die beiden Felder, drücken Sie die Leertaste und gehen Sie dann zum Dialog Feldbefehl zurück:

  5. Klicken Sie auf das Register Funktionen und anschließend in der Liste Feldtyp auf "Bedingter Text".

  6. Geben Sie im Feld Bedingung folgenden Text ein: "Adressbuch.Adressen.Vorname".

  7. Geben Sie im Feld Dann ein Leerzeichen ein und lassen Sie das Feld Sonst leer.

Sie können nun eine Bedingung verwenden, um ausgehend vom Inhalt des Felds "Vorname" bestimmten Text einzufügen.

  1. Klicken Sie im Dialog Feldbefehl auf das Register Funktionen.

  2. Klicken Sie im Feld Feldtyp auf "Bedingter Text".

  3. Geben Sie im Feld Bedingung folgenden Text ein: Adressbuch.Adressen.Vorname == "Michael"

  4. Geben Sie im Feld Dann den Text "Lieber" ein.

  5. Geben Sie im Feld Sonst den Text "Hallo" ein.

  6. Klicken Sie auf Einfügen.