Innhold
Innholdsliste 🔎︎

# Angi vilkår

Vilkår er logiske uttrykk du kan bruke til å styre hvordan felter og seksjoner vises i dokumentet. Eksemplene nedenfor gjelder felter, men de gjelder på samme måte for seksjoner.

Du kan angi vilkår for følgende felttyper:

1. Vilkårstekst: Viser tekst A hvis vilkåret er sant, eller tekst B hvis vilkåret er usant.

2. Skjult tekst: Skjuler feltets innhold hvis vilkåret er sant.

3. Skjult avsnitt: Skjuler avsnittet hvis vilkåret er sant.

4. Vilkårlig post og Neste post: Styrer tilgangen til databaseposter.

Den enkleste måten å angi et vilkår på, er å skrive det logiske uttrykket direkte inn i Vilkår-feltet ved å bruke en av disse verdiene:

TRUE | Vilkåret er alltid oppfylt. Du kan også skrive inn en hvilken som helst verdi som ikke er lik 0, som vilkårstekst.
FALSE | Vilkåret er ikke oppfylt. Du kan også skrive inn verdien 0.

Hvis du lar Vilkår-feltet stå tomt, tolkes dette som om vilkåret ikke er oppfylt.

Når du angir et vilkår, kan du bruke de samme elementene som du bruker til å angi en formel, det vil si sammenligningsoperatorer, matematiske og statistiske funksjoner, tallformater, variabler og konstanter.

Du kan bruke følgende typer variabler når du angir et vilkår:

1. Forhåndsbestemte variabler i LibreOffice, som bruker statistikk på dokumentegenskaper

2. Selvvalgte variabler som du lager ved hjelp av feltet «Velg variabel»

3. Variabler som er basert på brukerinformasjon

4. Variabler som er basert på innholdet i databasefelter

Du kan ikke bruke interne variabler, som side- og kapittelnumre, i vilkårsuttrykk.

## Vilkår og variabler

I disse eksemplene bruker vi en variabel kalt «x»:

x == 1 eller x EQ 1 | Vilkåret er sant hvis «x» er lik 1.
x != 1 eller x NEQ 1 | Vilkåret er sant hvis «x» ikke er lik 1.
sinx == 0 | Vilkåret er sant hvis «x» er et multiplum av pi.

Når du skal bruke sammenligningsoperatorer som inneholder strenger, må operandene være omsluttet av doble hermetegn:

x == "ABC" eller x EQ "ABC" | Kontrollerer om variabelen «x» inneholder strengen «ABC» (sann) eller ikke (usann).
x == "" eller x EQ "" eller !x eller NOT X | Kontrollerer om variabelen «x» inneholder en tom streng.

Sammenligningsoperatoren «er lik» må skrives med to likhetstegn (==) i et vilkår. Hvis du for eksempel vil angi en variabel «x» med verdien 1, må du skrive inn vilkåret som x==1.

## Brukerinformasjon

du kan inkludere brukerdata når du definerer vilkår. For å endre dine brukerdata, velg LibreOffice - InnstillingerVerktøy - Alternativer - LibreOffice - Brukerdataa. Bruker data må skrives inn som strenger. Du kan spørre mot brukerdataene med "==" (EQ), "!=" (NEQ), eller "!"(NOT).

Denne tabellen inneholder en liste med brukerinformasjonsvariabler og deres betydning:

Variabel | Betydning
brukers_fornavn | Fornavn
brukers_etternavn | Etternavn
brukers_initsialer | Forbokstaver
brukers_virksomhet | Firma
brukers_adresse | Adresse
brukers_land | Land/region
brukers_postkode | Postnr.
user_city | Poststed
brukers_tittel | Tittel
user_position | Plassering
brukers_tlf_jobb | Tlf. jobb
user_tel_home | Tlf. privat
user_fax | Faks
user_email | E-post
brukers_region | Delstat (ikke i alle versjoner av LibreOffice)

Hvis du vil skjule et avsnitt, tekst eller en seksjon slik at en bruker med bestemte forbokstaver, for eksempel «LM», ikke kan lese dette innholdet, kan du skrive inn dette vilkåret: user_initials=="LM".

## Vilkår og databasefelter

Du kan angi vilkår for tilgang til databaser eller databasefelter. For eksempel kan du kontrollere innholdet i et databasefelt på grunnlag av et vilkår, eller bruke databasefelter i logiske uttrykk. Den følgende tabellen viser en liste med noen flere eksempler på bruk av databaser i vilkår:

Eksempel | Betydning
Database.Tabell.Firma Database.Tabell.Firma NEQ "" Database.Tabell.Firma != "" | Vilkåret er sant hvis FIRMA-feltet ikke er tomt. (I det første eksemplet er ingen operator nødvendig.)
!Database.Tabell.Firma NOT Database.Tabell.Firma Database.Tabell.Firma EQ "" Database.Tabell.Firma =="" | Returnerar SANT dersom feltet FIRMA er tomt.
Database.Tabell.Firma =="" Database.Tabell.Firma NEQ "" | Returnerer SANN hvis det aktuelle elementet i feltet FIRMA ikke er "Sun". (Utropstegn representerer et logisk NOT.)
Database.Tabell.Fornavn AND Database.Tabell.Etternavn | Returnerer SANT hvis dataposten inneholder både fornavn og navn.

Leg merke til forskjellen mellom det logiske NOT "!" og sammenligningsoperatoren ikke lik "!=" (NEQ).

Når du referer til et databasefelt i et vilkår, må du bruke formen Databasenavn.Tabellnavn.Feltnavn. Hvis et av navnene inneholder et tegn som kan forveksles med en operator, for eksempel et minustegn (-), må du omgi navnet med hakeparenteser, for eksempel slik: Databasenavn.[Tabell-navn].Feltnavn. Bruk aldri mellomrom inne i feltnavn.

### Eksempel: Skjule et tomt databasefelt

Noen ganger kan du ha behov for å lage et vilkår som skjuler et tomt felt, for eksempel hvis FIRMA-feltet er tomt for noen av datapostene.

Marker Skjult avsnittog skriv inn vilkåret: Adressebok, Adresser.Firma EQ""

eller skriv inn følgende

NOT Adressebok.Adresser.Firma

Hvis FIRMA-feltet er tomt, er vilkåret sant, og avsnittet skjules.

To display hidden paragraphs on the screen, choose LibreOffice - PreferencesTools - Options - LibreOffice Writer - View, and clear the Hidden paragraphs check box.

## Eksempler på vilkår i felter

I eksemplene nedenfor bruker vi Vilkårstekst-feltet, men eksemplene gjelder på samme måte for alle felter som kan knyttes til et vilkår. Syntaksen for vilkår brukes også på feltene Skjult tekst, Skjulte avsnitt, Vilkårlig post og Neste post.

## Vise vilkårstekst basert på sideantallet:

1. Velg Sett inn → Felter → Andre og trykk fanen Funksjoner.

2. I lista Type trykker du «Vilkårstekst».

3. I feltet Vilkår skriver du inn «side == 1».

4. I feltet Og så skriver du inn «Det finnes bare en side».

5. I feltet Ellers skriver du inn «Det finnes flere sider».

6. Trykk Sett inn og deretter Lukk.

## Vise vilkårstekst basert på en selvvalgt variabel:

1. Velg Sett inn → Felt → Andre og trykk fanen Variabler.

2. I lista Type trykker du «Velg variabel».

3. I feltet Vilkår skriver du inn «Overskudd».

4. I feltet Verdi skriver du inn «5000».

5. Trykk Sett inn.

6. Trykk Funksjoner og deretter «Vilkårstekst» i lista Type.

7. I feltet Vilkår skriver du inn «Overskudd < 5000».

8. I feltet Og så skriver du inn «Målet er ikke nådd».

9. I feltet Ellers skriver du inn «Målet er nådd».

10. Trykk Sett inn.

Du kan redigere innholdet i variabelen «Overskudd» ved å dobbeltklikke variabelfeltet.

## Vise vilkårstekst basert på innholdet i et databasefelt:

I første del av dette eksemplet settes et mellomrom inn mellom feltene «Fornavn» og «Etternavn» i et dokument, og i den andre delen setter vi inn tekst basert på innholdet i et felt. Dette eksempelet forutsetter at en adressedatakilde er registrert i LibreOffice.

1. Velg Sett inn → Felt → Andre og trykk fanen Database.

2. I lista Type trykker du «Standardbrevfelt».

3. Dobbeltklikk en adressebok i feltet Databaseutvalg, trykk «Fornavn» og deretter Sett inn. Gjør det samme med «Etternavn».

4. Plasser skrivemerket mellom de to feltene i dokumentet, trykk mellomromstasten og gå tilbake til dialogvinduet Felter:

5. Trykk fanen Funksjoner og velg «Vilkårstekst» i lista Type.

6. I feltet Vilkår skriver du inn: «Adressebok.adresser.fornavn».

7. I feltet Og så skriver du inn et mellomrom. La feltet Ellers stå tomt.

Nå kan du bruke et vilkår til å sette inn tekst basert på innholdet i feltet Fornavn.

1. I lista Felter trykker du fanen Funksjoner.

2. I feltet Type trykker du «Vilkårstekst».

3. I feltet Vilkår skriver du inn: «Adressebok.adresser.fornavn == "Michael"»

4. I feltet Og så skriver du inn "Kjære".

5. I feltet Og så skriver du inn "Kjære".

6. Trykk Sett inn.