Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

Die Feldbefehle: VersteckterText, VersteckterAbsatz, BedingterText erlauben Fallunterscheidungen, mit denen der angezeigte Dokumentinhalt variabel gestaltet werden kann (WENN der Anredecode 1 lautet, schreibe Frau, SONST Herr / WENN ein Adressfeld keine Daten enthält, unterdrücke die Adresszeile in der Briefanschrift...).

Ausserdem können Bereiche innerhalb von Dokumenten aufgrund bestimmter Bedingungen ausgeblendet werden.

1. Prüffelder

Als Prüffelder, deren Inhalt auf eine bestimmte Bedingung hin geprüft werden sollen, kommen einerseits lokale Variablen und Benutzerfelder, BenutzerDaten oder Dokumentvariablen 1 in Frage und andererseits die Datenfelder verknüpfter DatenBanken, z.B. in SerienBriefen oder beim Etikettendruck.

2. Namen von Serienbrieffeldern

In früheren Versionen mussten dem Feldnamen, für den eine Bedingung formuliert werden sollte, der Name der Datenquelle und der Name der Tabelle vorangestellt werden:
Datenquelle.Tabelle.Feld.

Diese Schreibweise kann immer noch verwendet werden. In dem Fall muss der vollständige Name in eckige Klammern gesetzt werden: [Datenquelle.Tabelle.Feld]. Dabei ist zu bedenken, dass beim Aufruf Bearbeiten → Datenbank austauschen der qualifizierte Name nicht auf die neue Datenbank umgestellt wird und die Bedingungen somit nicht mehr greifen. In den nachstehenden Beispielen wird daher nur der einfache Feldname benutzt.

Wichtig: Der Datenquellen-, Tabellen- und Feldname darf ausser dem Unterstrich keine weiteren "Sonderzeichen" enthalten, d.h. auch Leerzeichen oder Bindestriche sind nicht erlaubt. Für den Datenquellennamen genügt es, den in den Datenbankverbindungen verwendeten registrierten Namen so zu wählen, dass keine Sonderzeichen enthalten sind.
Bsp:
[DB_Name.Tabelle1.Vor_und_Zuname] wird funktionieren,
[DB-Name.Tabelle1.Vor und Zuname] wird nicht funktionieren.

Tipp:
Wenn man öfter die Datenquelle wechseln muss, und dabei unterschiedliche Spaltentitel hat, wie z.B. Strasse in Datenquelle 1, street in Datenquelle 2, etc., kann man zu den einzelnen Datenquellen jeweils eine Abfrage erstellen und den sich entsprechenden Spaltentiteln Alternativnamen zuweisen, die dann für alle Tabellen gleich sind. So kann man in Vorlagen für Serienbriefen etc. die einfachen Alternativnamen (ohne Datenquellen- und Tabellenname) benutzen und das Dokument mit der Abfrage statt auf die Originaltabelle verknüpfen. Wenn man dann die Datenbank austauscht, greifen die Bedingungen auch mit der neuen Datenquelle.

3. Bedingungen formulieren

Bedingung

Schreibweise im Feldbefehl

Falls Feld1 leer ist

!Feld1
alternativ
NOT Feld1

Falls Feld1 nicht leer ist

Feld1

Falls Feld1 den Wert 5 hat
(und ein Zahlenfeld ist)

Feld1==5
alternativ
Feld1 EQ 5
Das Gegenteil:
Feld1!=5
alternativ
Feld1 NEQ 5

Falls Feld1 den Wert "Fr." hat

Feld1=="Fr"
alternativ
Feld1 EQ "Fr"
Das Gegenteil:
Feld1!="Fr"
alternativ
Feld1 NEQ "Fr"

Falls Feld1 gleich Feld2 ist

Feld1==Feld2
alternativ
Feld1 EQ Feld2
Das Gegenteil:
Feld1!=Feld2
alternativ
Feld1 NEQ Feld2

4. UND/ODER-Bedingungen

Bedingung

Schreibweise im Feldbefehl

Falls Feld1 leer ist oder den Wert 100 oder den Wert 200 hat

(!Feld1) OR (Feld1==100) OR (Feld1==200)

Falls Feld1 den Inhalt "Fr" hat und Feld2 den Inhalt "Januar"

(Feld1=="Fr") AND (Feld2=="Januar")

5. Verschachtelungen

Verschachtelungen im Sinn von:
Wenn Geschlecht=="w"
  Wenn Altersklasse==2
  Sonst
Sonst
  Wenn Altersklasse==2
  Sonst
sind nicht direkt möglich.

Allerdings kann man z.B. den Feldbefehl "bedinger Text" mehrfach hintereinander setzen. Man lässt einfach den Parameter "Sonst" leer und benutzt jeweils nur "Wenn". Das Programm verarbeitet sequentiell. Man muss nur eine Bedingungsabfolge finden, welche die Eindeutigkeit der einzelnen Bedingungen sicherstellt und nach jeder zutreffenden Bedingung immer nur eine Restmenge ohne Schnittmenge zu der bereits verarbeiteten Bedingung übriglässt, z.B.:

Feldbefehl 1:
(Geschlecht=="w") AND (Altersklasse==2)

Feldbefehl 2:
(Geschlecht=="w") AND (Altersklasse!=2)

Feldbefehl 3:
(Geschlecht!="w") AND (Altersklasse==2)

Feldbefehl 4:
(Geschlecht!="w") AND (Altersklasse!=2)

6. Siehe auch


KategorieWriter KategorieHowto

  1. Dokumentvariablen sind Variablen, die in Textdokumenten automatisch zur Verfügung stehen, wie PAGE oder CHAR (Vollständige Liste im Hilfetext unter Dokumenteigenschaften;Variablen für) (1)


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28