Inhalte

# 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.

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 Anwenderdaten

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 Zeichenfolgen 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 Zeichenfolge "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 Zeichenfolge enthält.

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.

## Anwenderdaten

Sie können Anwenderdaten mit einbeziehen, wenn Sie Bedingungen definieren. Um Ihre Anwenderdaten zu ändern, wählen Sie LibreOffice – Einstellungen Extras – Optionen… – LibreOffice – Anwenderdaten. Anwenderdaten müssen als Zeichenfolgen eingegeben werden. Sie können die Anwenderdaten mit "==" (ist gleich), "!=" (ist nicht gleich) oder "!" (nicht) abfragen.

In der folgenden Tabelle sind die Variablen für Anwenderdaten 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.

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.

Um verborgene Absätze auf dem Bildschirm anzuzeigen, wählen Sie LibreOffice – Einstellungen Extras – Optionen… – LibreOffice Writer – Ansicht und deaktivieren Sie das Markierfeld Felder anzeigen: Verborgene 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… – 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… – 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… – 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.