Modul
Indhald
Innhaldsliste 🔎︎

# Definera vilkår

Vilkår er logiske uttrykk du kan bruka til å styra korleis felt og bolkar skal visast i dokumentet. Eksempla nedføre gjeld felt, men dei gjeld på same måte for bolkar.

Du kan definera vilkår for desse felttypane:

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

2. Gøymd tekst: Gøymer feltinnhaldet viss vilkåret er sant.

3. Gøymd avsnitt: Gøymer avsnittet dersom vilkåret er sant.

4. Vilkårleg post og neste post: Styrar tilgangen til databasepostar.

Den enklaste måten å definera eit vilkår på, er å skriva det logiske uttrykket direkte inn i Vilkår-feltet ved å bruka ein av desse verdiane:

TRUE | Vilkåret er alltid oppfylt. Du kan også skriva inn kva verdi som helst ulik 0 som vilkårstekst.
USANN | Vilkåret er ikkje oppfylt. Du kan også skriva inn verdien 0.

Visss du lar Vilkår-feltet stå tomt, vert dette tolka som at vilkåret ikkje er oppfylt.

Når du definerer eit vilkår, kan du bruka dei same elementa som du bruker til å definera ein formel, det vil seia samanlikningsoperatorer, matematiske og statistiske funksjonar, talformat, variablar og konstantar.

Du kan nytta desse variabeltypane når du definerar eit vilkår:

1. Førehandsdefinerte variablar i LibreOffice som bruker statistikk på dokumenteigenskapar

2. Sjølvvalde variablar som du lagar ved hjelp av feltet «Vel variabel»

3. Variablar som er baserte på brukarinformasjon

4. Variablar som er baserte på innhaldet i databasefelt

Du kan ikkje bruka interne variablar, som side- og kapittelnummer, i vilkårsuttrykk.

## Vilkår og variablar

I desse eksempla bruker vi ein variabel kalla «x»:

x == 1 eller x EQ 1 | Vilkåret er sant viss «x» er lik 1.
x != 1 eller x NEQ 1 | Vilkåret er sant viss «x» ikkje er lik 1.
sinx == 0 | Vilkåret er sant viss «x» er eit multiplum av pi.

Når du skal bruka samanlikningsoperatorer som inneheld strenger, må operandane skrivast inne i doble hermeteikn:

x == "ABC" eller x EQ "ABC" | Kontrollerar om variabelen «x» inneheld strengen «ABC» (sann) eller ikkje (usann).
x == "" eller x EQ "" eller !x eller NOT X | Kontrollerar om variabelen «x» inneheld ein tom streng.

Samanlikningsoperatoren «er lik» må skrivast med to likskapsteikn (==) i eit vilkår. Vil du for eksempel definera ein variabel «x» med verdien 1, må du skriva inn vilkåret som x==1.

## Brukarinformasjon

Du kan ta med brukarinformasjon når du definerer vilkår. For å endra brukardataa, vel du LibreOffice → Innstillingar Verktøy → Innstillingar → LibreOffice → Brukarinformasjon. Brukarinfomasjonen må vera som strenger. Du kan søkja i brukarinformasjonen med «==» (EQ), «!=» (NEQ) og «=!» (NOT).

Denne tabellen viser ei liste med variablar brukte i brukarinformasjonen og kva dei betyr:

Variabel | Tyding
user_firstname | Fornamn
user_lastname | Etternamn
user_initials | Forbokstavar
user_company | Firma
user_street | Adresse
user_country | Land
user_zipcode | Postnummer
user_city | Poststad
user_title | Tittel
user_position | Posisjon
user_tel_work | Jobbtelefon
user_tel_home | Heimetelefon
user_fax | Faksnummer
user_email | E-postadresse
user_state | Delstat (ikkje i alle versjonar av LibreOffice)

Viss du vil gøyma eit avsnitt, ein tekst eller ein bolk slik at ein brukar med bestemte forbokstavar, for eksempel «LM», ikkje kan lesa dette innhaldet, kan du skriva inn dette vilkåret: user_initials=="LM".

## Vilkår og databasefelt

Du kan definera vilkår for tilgang til databasar og databasefelt. For eksempel kan du kontrollera innhaldet i eit databasefelt frå eit vilkår eller bruka databasefelt i logiske uttrykk. Tabellen viser ei liste med nokre fleire eksempel på bruk av databasar i vilkår.

Eksempel | Tyding
Database.Tabell.Firma Database.Tabell.Firma NEQ "" Database.Tabell.Firma != "" | Vilkåret er sant viss FIRMA-feltet ikkje er tomt. (I det første eksempelet er ingen operator nødvendig.)
!Database.Tabell.Firma NOT Database.Tabell.Firma Database.Tabell.Firma EQ "" Database.Tabell.Firma =="" | Returnerer SANN dersom feltet FIRMA er tomt.
Database.Tabell.Firma !="Sun" Database.Tabell.Firma NEQ "Sun" | Returnerer SANN viss det aktuelle element i feltet FIRMA ikkje er "Sun". (Utropsteikn representerer eit logisk IKKJE.)
Database.Tabell.Fornamn AND Database.Tabell.Namn | Returnerer SANN viss dataposten inneheld både fornamn og etternamn.

Legg merkje til skilnaden mellom det logiske «!» (NOT) og samanlikningsoperatoren ulik: «!=» (NEQ).

Når du referer til eit databasefelt i eit vilkår, må du bruka formen Databasenamn.Tabellnamn.Feltnamn. Dersom eitt av namna inneheld eit teikn som kan forvekslast med ein operator, for eksempel eit minusteikn (-), må du setja namnet i hakeparentesar, for eksempel slik: Databasenamn.[Tabell-namn].Feltnamn. Bruk aldri mellomrom inne i feltnamn.

### Eksempel: Gøyma eit tomt databasefelt

Av og til kan det vera ønskjeleg å laga eit vilkår som gøymer eit tomt felt, for eksempel viss FIRMA-feltet er tomt i nokre av postane.

Merk feltet Gøymd avsnitt og skriv inn vilkåret: Adressebok.Adresser.Firma EQ ""

eller skriv inn

NOT Adressebok.Adresser.Firma

Viss FIRMA-feltet er tomt, er vilkåret sant og avsnittet vert gøymd.

For å visa gøymde avsnitt på skjermen, kan du velja LibreOffice → Preferences Verktøy → Innstillingar → LibreOffice Writer → Formateringsstøtte og sjå etter at det ikkje er merkt av for Felt: Gøymd tekst.

## Eksempler på vilkår i felt

I eksempla nedføre vert vilkårstekst-feltet brukt, men eksempla gjeld på same måte for alle felt som kan knytast til eit vilkår. Syntaksen for vilkår vert også brukt på felta «Gøymd tekst», «Gøymde avsnitt», «Vilkårleg post» og «Neste post».

## Vise vilkårstekst basert på talet på sider:

1. Vel Set inn → Felt → Fleire felt og trykk på fana Funksjonar.

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

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

4. I feltet Og så skriv du inn «Det finst berre ei side».

5. I feltet Elles skriv du inn «Det finst fleire sider».

6. Trykk Set inn og deretter Lukk.

## Vise vilkårstekst basert på ein sjølvvald variabel

1. Vel Set inn → Felt → Fleire felt og trykk på fana Variablar.

2. I lista Type trykkjer du «Vel variabel».

3. I feltet Namn skriv du inn «Forteneste».

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

5. Trykk OK.

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

7. I feltet Vilkår skriv du inn «Overskot < 5000».

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

9. I feltet Elles skriv du inn «Målet er nådd».

10. Trykk OK.

Du kan redigera innhaldet i variabelen «overskot» ved å dobbeltklikka på variabelfeltet.

## Visa vilkårstekst basert på innhaldet i eit databasefelt:

I den første delen av dette eksempelet vert det sett inn eit mellomrom mellom felta «Fornamn» og «Etternamn» i eit dokument. I den andre delen set vi inn tekst basert på innhaldet i eit felt. Dette eksempelet går ut frå at det er registrert ei adressedatakjelde i LibreOffice.

1. Vel Set inn → Felt → Fleire felt og trykk på fana Database.

2. I lista Type trykkjer du «Standardbrevfelt».

3. Dobbeltklikk ei adressebok i feltet Databaseutval, trykk «Fornamn» og deretter Set inn. Gjer det same med «Etternamn».

4. Plasser skrivemerket mellom dei to felta i dokumentet, trykk mellomromstasten og gå tilbake til dialogvindauget Felt:

5. Trykk fana Funksjonar og vel «Vilkårstekst» i lista Type.

6. I feltet Vilkår skriv du inn: «Adressebok.adresser.fornamn».

7. I feltet Og så skriv du inn eit mellomrom. La feltet Elles stå tomt.

Nå kan du bruka eit vilkår til å setja inn tekst basert på innhaldet i feltet Fornamn.

1. Trykk fana Funksjonar i lista Felt.

2. Trykk på «Vilkårstekst» i feltet Type.

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

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

5. I feltet Elles skriv du inn "Hallo".

6. Trykk OK.