Indhold

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

Hvis du lader feltet Betingelse stå tomt, fortolkes betingelsen som værende ikke opfyldt.

Når du definerer 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 "Definér 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.

Sammenligningsoperatoren "lig med" skal skrives med to lighedstegn (==) i en betingelse. Hvis du for eksempel definerer 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 ▸ PræferencerFunktioner ▸ 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.

Markér feltet Skjult afsnit og indtast følgende betingelse: Adressebog.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 de skjulte afsnit på skærmen vælger duLibreOffice ▸ IndstillingerFunktioner ▸ Indstillinger ▸ 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å alle felter, der kan kædes til en betingelse. Syntaksen for betingelser bliver også brugt til felterne Skjult tekst, Skjulte afsnit, Vilkårlig 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 Så 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 "Definér 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 Så 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 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.

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 Så skal du skrive "Kære".

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

6. Klik på Indsæt.