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:

  1. Betinget tekst: viser tekst A hvis betingelsen er sand, eller tekst B hvis betingelsen er falsk.

  2. Skjult tekst: skjuler feltets indhold hvis betingelsen er sand.

  3. Skjult afsnit: skjuler afsnittet hvis betingelsen er sand.

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


note

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:

  1. Foruddefinerede LibreOffice variable som bruger statistik på dokumentegenskaber

  2. Brugerdefinerede variable, som er oprettet med feltet "Definer variabel"

  3. Variable baseret på brugerdata

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


note

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ælg - 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.


note

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.

note

For at vise de skjulte afsnit på skærmen vælger du ▸ LibreOffice Writer ▸ Vis og rydder afkrydsningfeltet Skjult 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:

  1. Vælg Indsæt - Felter - Flere felter, og klik så på fanebladet Funktioner.

  2. I listen Type, klik "Betinget tekst".

  3. I feltet Betingelse skal du skrive "side == 1".

  4. I feltet skal du skrive "Der er kun én side".

  5. I feltet Ellers skal du skrive "Der er flere sider".

  6. Klik på Indsæt, og klik så på Luk.

For at vise betinget tekst baseret på en brugerdefineret variabel

  1. Vælg Indsæt - Felter - Flere felter og klik så på fanebladet Variable.

  2. I listen Type, klik "Definer variabel".

  3. I feltet Navn skal du skrive "Fortjeneste".

  4. I feltet Værdi skal du skrive "5000".

  5. Klik på Indsæt.

  6. Klik på fanebladet Funktioner og klik så på "Betinget tekst" i listen Type.

  7. I feltet Betingelse skal du skrive "Overskud < 5000".

  8. I feltet skal du skrive "Mål er ikke opfyldt".

  9. I feltet Ellers skal du skrive "Mål er opfyldt".

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

  1. Vælg Indsæt - Felter - Flere felter, og klik så på fanebladet Database.

  2. I listen Type, klik "Brevfletningsfelter".

  3. Dobbeltklik på en adressebog i feltet Databasevalg, klik på "Fornavn" og klik så på Indsæt. Gentag for "Efternavn".

  4. Placer markøren mellem de to felter i dokumentet, tryk på mellemrumstasten og vend derefter tilbage til dialogen Felter:

  5. Klik på fanebladet Funktioner og klik så på "Betinget tekst" i listen Type.

  6. I feltet Betingelse skal du skrive: "Addressebog.adresser.fornavn".

  7. I feltet 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.

  1. I listen Felter, klik på fanebladet Funktioner.

  2. I feltet Type skal du klikke på "Betinget tekst".

  3. I feltet Betingelse skal du skrive: Addressebog.adresser.fornavn == "Michael"

  4. I feltet skal du skrive "Kære".

  5. I feltet Ellers skal du skrive "Hallo".

  6. Klik på Indsæt.

Støt os venligst!