Angiv betingelser
Betingelser er logiske udtryk, som du kan bruge til at kontrollere visningen af felter og sektioner i dit dokument. Selvom de følgende eksempler gælder for felter, er de også gældende for sektioner.
Du kan angive betingelser for følgende felttyper:
-
Betinget tekst: viser tekst A hvis betingelsen er sand, eller tekst B hvis betingelsen er falsk.
-
Skjult tekst: skjuler feltets indhold hvis betingelsen er sand.
-
Skjult afsnit: skjuler afsnittet hvis betingelsen er sand.
-
Enhver datapost og næste datapost: kontrollerer adgangen til databaseposter.
Den enkleste måde at definere en betingelse på er ved at skrive det logiske udtryk direkte i en Betingelses-boks ved anvendelse af følgende værdier:
SAND |
Betingelsen er altid opfyldt. Du kan også indtaste hvilken som helst værdi forskellig fra 0 som den betingede tekst. |
FALSK |
Betingelsen er ikke opfyldt. Du kan også indtaste værdien 0. |

Hvis du lader feltet Betingelse stå tomt, fortolkes betingelsen som værende ikke opfyldt.
Når du definer en betingelse, så brug de samme elementer som for at definere en formel, nemlig sammenligningsoperatorer, matematiske og statistiske funktioner, talformater, variable og konstanter.
Du kan bruge følgende typer af variable, når du definerer en betingelse:
-
Foruddefinerede LibreOffice variable som bruger statistik på dokumentegenskaber
-
Brugerdefinerede variable, som er oprettet med feltet "Definer variabel"
-
Variable baseret på brugerdata
-
Variable baseret på indholdet af databasefelter
Du kan ikke bruge interne variable, såsom side- og kapitelnumre, i betingede udtryk.
Betingelser og variable
Følgende eksempler bruger en variabel kaldet "x":
x == 1 eller x EQ 1 |
Betingelsen er sand, hvis "x" er lig med 1. |
x != 1 eller x NEQ 1 |
Betingelsen er sand, hvis "x" ikke er lig med 1. |
sinx == 0 |
Betingelsen er sand, hvis "x" er et multiplum af pi. |
Når der bruges sammenligningsoperatorer med strenge, skal operanden være afgrænset af dobbelte anførselstegn:
x == "ABC" eller x EQ "ABC" |
Kontrollerer om variabel "x" indeholder (true) "ABC" strengen, eller ikke (false). |
x == "" eller x EQ "" eller !x eller NOT X |
Kontrollerer om variablen "x" indeholder en tom streng. |

Sammenligningsoperatoren "lig med" skal skrives med to lighedstegn (==) i en betingelse. Hvis du for eksempel definer en variabel "x" med værdien 1, kan du indtaste betingelsen som x==1.
Brugerdata
Du kan medtage brugerdata, når du definerer betingelser. For at ændre dine brugerdata, vælgLibreOffice - IndstillingerFunktioner - Indstillinger - LibreOffice - Brugerdata. Brugerdata skal indtastes i form af strenge. Du kan forespørge på brugerdata med "==" (EQ), "!=" (NEQ), eller "!"(NOT).
Følgende tabel opremser brugerdatavariable og deres betydninger:
Variabel |
Betydning |
user_firstname |
Fornavn |
user_lastname |
Efternavn |
user_initials |
Initialer |
user_company |
Firma |
user_street |
Gade |
user_country |
Land |
user_zipcode |
Postnr. |
user_city |
By |
user_title |
Titel |
user_position |
Placering |
user_tel_work |
Arbejdsrelateret telefonnummer |
user_tel_home |
Hjemmetelefonnummer |
user_fax |
Faxnummer |
user_email |
E-mailadresse |
user_state |
Tilstand (ikke i alle LibreOffice versioner) |
For eksempel, for at skjule et afsnit, tekst, eller en sektion for en bruger med specifikke initialer, såsom "LM", indtast betingelsen: user_initials=="LM".
Betingelser og databasefelter
Du kan angive betingelser for at tilgå databaser eller databasefelter. For eksempel kan du kontrollere indholdet af et databasefelt ud fra en betingelse eller bruge databasefelter i logiske udtryk. Følgende tabel opremser flere eksempler på at bruge databaser i betingelser:
Eksempel |
Betydning |
Database.Tabel.Firma Database.Tabel.Firma NEQ "" Database.Tabel.Firma != "" |
Betingelsen er sand hvis FIRMA-feltet ikke er tomt. (I det første eksempel er ingen operator påkrævet.) |
!Database.Tabel.Firma NOT Database.Tabel.Firma Database.Tabel.Firma EQ "" Database.Tabel.Firma =="" |
Returnerer SAND hvis feltet FIRMA er tomt. |
Database.Tabel.Firma !="Sun" Database.Tabel.Firma NEQ "Sun" |
Returnerer SAND, hvis det aktuelle element i feltet FIRMA ikke er "Sun". (Udråbstegn repræsenterer et logisk NOT.) |
Database.Tabel.Firstname AND Database.Tabel.Navn |
Returnerer SAND hvis dataposten indeholder både det første og det sidste navn. |

Bemærk forskellen mellem det logiske NOT "!" og sammenligningsoperatoren ikke lig med "!=" (NEQ).
Når du referer til et databasefelt i en betingelse, skal du bruge formen Databasenavn.Tabelnavn.Feltnavn. Hvis et af navnene indeholder et tegn, der er en operator, såsom et minustegn (-), skal du omgive navnet med kantede parenteser, for eksempel, Databasenavn.[Tabel-navn].Feltnavn. Brug aldrig mellemrum inden i feltnavne.
Eksempel: Skjul et tomt databasefelt
Du kan oprette en betingelse som skjuler et tomt felt, for eksempel, hvis FIRMA-feltet er tomt for nogle af dataposterne.
Marker feltet Skjult afsnit og indtast følgende betingelse: Addressebog.Adresser.Firma EQ ""
eller skriv følgende
NOT Addressebog.Adresser.Firma
Hvis feltet FIRMA er tomt, er betingelsen sand, og afsnittet er skjult.

For at vise skjulte afsnit på skærmen kan du vælge LibreOffice - IndstillingerFunktioner - Indstillinger - LibreOffice Writer - Formateringshjælp og fjerne markeringen i afkrydsningsfeltet Skjulte afsnit.
Eksempler på betingelser i felter
Følgende eksempler bruger det betingede tekstfelt, selv om de kan anvendes på hvilke som helst felter, som kan sammenkædes med en betingelse. Syntaksen for betingelser bliver også brugt til felterne Skjult tekst, Skjulte afsnit, Hvilken som helst datapost eller Næste datapost.
For at vise betinget tekst baseret på sideantallet:
-
Vælg Indsæt - Felter - Flere felter, og klik så på fanebladet Funktioner.
-
I listen Type, klik "Betinget tekst".
-
I feltet Betingelse skal du skrive "side == 1".
-
I feltet Så skal du skrive "Der er kun én side".
-
I feltet Ellers skal du skrive "Der er flere sider".
-
Klik på Indsæt, og klik så på Luk.
For at vise betinget tekst baseret på en brugerdefineret variabel
-
Vælg Indsæt - Felter - Flere felter og klik så på fanebladet Variable.
-
I listen Type, klik "Definer variabel".
-
I feltet Navn skal du skrive "Fortjeneste".
-
I feltet Værdi skal du skrive "5000".
-
Klik på Indsæt.
-
Klik på fanebladet Funktioner og klik så på "Betinget tekst" i listen Type.
-
I feltet Betingelse skal du skrive "Overskud < 5000".
-
I feltet Så skal du skrive "Mål er ikke opfyldt".
-
I feltet Ellers skal du skrive "Mål er opfyldt".
-
Klik på Indsæt.
For at redigere indholdet af variablen "Fortjeneste" skal du dobbeltklikke på variabelfeltet.
For at vise betinget tekst baseret på indholdet af et databasefelt:
Første del af dette eksempel indsætter et mellemrum mellem felterne "Fornavn" og "Efternavn" i et dokument, og den anden del indsætter tekst baseret på indholdet af et felt. Dette eksempel kræver, at en adressedatakilde er registreret i LibreOffice.
-
Vælg Indsæt - Felter - Flere felter, og klik så på fanebladet Database.
-
I listen Type, klik "Brevfletningsfelter".
-
Dobbeltklik på en adressebog i feltet Databasevalg, klik på "Fornavn" og klik så på Indsæt. Gentag for "Efternavn".
-
Placer markøren mellem de to felter i dokumentet, tryk på mellemrumstasten og vend derefter tilbage til dialogen Felter:
-
Klik på fanebladet Funktioner og klik så på "Betinget tekst" i listen Type.
-
I feltet Betingelse skal du skrive: "Addressebog.adresser.fornavn".
-
I feltet Så skal du indtaste et mellemrum og efterlade feltet Ellers tom.
Du kan nu bruge en betingelse til at indsætte tekst baseret på indholdet af fornavnsfeltet.
-
I listen Felter, klik på fanebladet Funktioner.
-
I feltet Type skal du klikke på "Betinget tekst".
-
I feltet Betingelse skal du skrive: Addressebog.adresser.fornavn == "Michael"
-
I feltet Så skal du skrive "Kære".
-
I feltet Ellers skal du skrive "Hallo".
-
Klik på Indsæt.