Definiera villkor

Villkor är logiska uttryck som du kan använda för att kontrollera visning av fält och områden i dokumentet. Följande exempel gäller inte bara fält, utan också områden.

Du kan definiera villkor för följande fälttyper:

  1. Villkorlig text: visar text A om villkoret är sant, eller text B om villkoret är falskt.

  2. Dold text: döljer fältets innehåll om villkoret är sant.

  3. Dolt stycke: döljer stycket om villkoret är sant.

  4. Slumpvis datapost och Nästa datapost: kontrollerar åtkomst till databasposter.

Det enklaste sättet att definiera ett villkor är att skriva det logiska uttrycket direkt i rutan Villkor med följande värden:

SANT

Villkoret är alltid uppfyllt. Du kan även ange ett valfritt värde inte lika med 0 som villkorstext.

FALSKT

Villkoret är inte uppfyllt. Du kan även ange värdet 0.


note

Om du lämnar rutan Villkor tom tolkas det som att villkoret inte är uppfyllt.


När du definierar ett villkor använder du samma element som när du definierar en formel, nämligen relationsoperatorer, matematiska funktioner, statistiska funktioner, talformat, variabler och konstanter.

Du kan använda följande typer av variabler när du definierar ett villkor:

  1. Fördefinierade LibreOffice-variabler som använder statistik på dokumentegenskaper

  2. Anpassade variabler som skapas med fältet "Sätt variabel"

  3. Variabler baserade på användardata

  4. Variabler baserade på innehållet i databasfält

Du kan inte använda interna variabler i villkorsuttryck, till exempel sid- och kapitelnummer.

Villkor och variabler

I följande exempel används en variabel som kallas "x":

x == 1 eller x EQ 1

Villkoret är sant om "x" är lika med 1.

x != 1 eller x NEQ 1

Villkoret är sant om "x" inte är lika med 1.

sinx == 0

Villkoret är sant om "x" är en multipel av pi.


Om du vill använda relationsoperatorer i strängar måste operatorerna omges av dubbla citattecken.

x == "ABC" eller x EQ "ABC"

Kontrollerar om variabeln "x" innehåller strängen "ABC" (sant), eller inte (falskt).

x == "" eller x EQ ""

respektive

!x eller NOT x

Kontrollerar om variabeln "x" innehåller en tom sträng.


note

Relationsoperatorn "är lika med" måste representeras av två likhetstecken (==) i ett villkor. Om du till exempel definierar variabeln "x" med värdet 1, kan du ange villkoret som x==1.


Användardata

You can include user data when you define conditions. To change your user data, choose - LibreOffice - User data. User data must be entered in the form of strings. You can query the user data with "==" (EQ), "!=" (NEQ), or "!"(NOT).

Följande tabell innehåller variabler för användardata och deras innebörd:

Variabel

Betydelse

user_firstname

Förnamn

user_lastname

Efternamn

user_initials

Initialer

user_company

Företag

user_street

Gata

user_country

Land

user_zipcode

Postnummer

user_city

Ort

user_title

Rubrik

user_position

Position

user_tel_work

Telefon - arbetet

user_tel_home

Telefon - privat

user_fax

Faxnummer

user_email

Email address

user_state

Stat (inte i alla LibreOffice-versioner)


Om du t.ex. vill dölja ett stycke, text eller område från en användare med vissa initialer, t.ex. "LM", så anger du följande villkor: user_initials=="LM".

Villkor och databasfält

Du kan definiera villkor för att komma åt databaser och databasfält. Du kan t.ex. kontrollera innehållet i ett databasfält utifrån ett villkor eller använda databasfält i logiska uttryck. Följande tabell innehåller några ytterligare exempel på hur du kan använda databaser i villkor:

Exempel

Betydelse

databas.tabell.företag

Databas.Tabell.Företag NEQ ""

Databas.Tabell.Företag != ""

Villkoret är sant om fältet FÖRETAG inte är tomt. (I det första exemplet krävs ingen operator.)

!Databas.Tabell.Företag

NOT databas.tabell.företag

Databas.Tabell.Företag EQ ""

Databas.Tabell.Företag ==""

Returnerar SANT om fältet FÖRETAG är tomt.

Databas.Tabell.Företag !="Sun"

Databas.Tabell.Företag NEQ "Sun"

Returnerar SANT om den aktuella poster i fältet FÖRETAG inte är Sun. (Utropstecken representerar ett logiskt ICKE.)

databas.tabell.förnamn AND databas.tabell.namn

Returnerar SANT om posten innehåller det första och sista namnet.


note

Observera skillnaden mellan det logiska Inte "!" (NOT) och relationsoperatorn Inte lika med "!=" (NEQ).


När du refererar till ett databasfält i ett villkor använder du formen databasnamn.tabellnamn.fältnamn. Om ett av namnen innehåller ett tecken som är en operator, till exempel ett minustecken (-), ska du omgärda namnet med hakparenteser, exempelvis databasnamn.[tabellnamn].fältnamn. Använd aldrig mellanslag inuti fältnamn.

Exempel: Dölja ett tomt databasfält

Du kan vilja skapa ett villkor som döljer tomma fält, t.ex. om vissa av FÖRETAG-fältets dataposter är tomma.

Välj Dolt stycke från listan och ange följande villkor: Adressbok.Adresser.Företag EQ ""

eller skriv följande

NOT Adressbok.Adresser.Företag

Om databasfältet FÖRETAG är tomt så är villkoret sant och stycket döljs.

note

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


Exempel på villkor i fältkommandon

I följande exempel används fältet Villkorlig text, även om exemplen gäller alla fält som går att länka till ett villkor. Den syntax som används i villkor används också i fälten Dold text, Dolt stycke, Slumpvis datapost och Nästa datapost.

Så här visar du villkorlig text baserat på antalet sidor:

  1. Välj Infoga - Fältkommando - Andra och klicka sedan på fliken Funktioner.

  2. Klicka på "Villkorlig text" i listan Fälttyp.

  3. I rutan Villkor skriver du "page == 1".

  4. I rutan skriver du "Det finns bara en sida".

  5. I rutan Annars skriver du "Det finns flera sidor".

  6. Klicka på Infoga och sedan på Stäng.

Så här visar du villkorlig text baserad på en användardefinierad variabel

  1. Välj Infoga - Fältkommando - Andra och klicka sedan på fliken Variabler.

  2. Klicka på "Sätt variabel" i listan Fälttyp.

  3. Skriv "Vinst" i rutan Namn.

  4. Skriv "5000" i rutan Värde.

  5. Klicka på Infoga.

  6. Klicka på fliken Funktioner och sedan på "Villkorlig text" i listan Fälttyp.

  7. Skriv "Vinst < 5000" i rutan Villkor.

  8. Skriv "Målet är inte uppnått" i rutan .

  9. Skriv "Målet är uppnått" i rutan Annars.

  10. Klicka på Infoga.

Om du vill redigera innehållet i variabeln "Vinst" dubbelklickar du på variabelfältet.

Så här visar du villkorlig text baserad på innehållet i ett databasfält:

I den första delen av exemplet infogas ett mellanslag mellan fälten "Förnamn" och "Efternamn" i ett dokument, och i den andra delen infogas text baserad på innehållet i ett fält. I exemplet förutsätts att en adressdatakälla är registrerad i LibreOffice.

  1. Välj Infoga - Fältkommando - Andra och klicka sedan på fliken Databas.

  2. Klicka på "Standardbrevfät" (kopplad utskrift) i listan Fälttyp.

  3. Gå till rutan Databasurval, dubbelklicka på en adressbok, klicka på "Förnamn" och sedan på Infoga. Upprepa åtgärden för "Efternamn".

  4. Placera markören mellan de två fälten i dokumentet, tryck på mellanslag och återgå sedan till dialogrutan Fält:

  5. Klicka på fliken Funktioner och sedan på "Villkorlig text" i listan Fälttyp.

  6. I rutan Villkor skriver du: "adressbok.adresser.förnamn".

  7. I rutan skriver du ett blanksteg och lämnar rutan Annars tom.

Du kan nu använda ett villkor för att infoga text baserad på innehållet i fältet Förnamn.

  1. Klicka på fliken Funktioner i dialogrutan Fält.

  2. Klicka på "Villkorlig text" i rutan Typ.

  3. I rutan Villkor skriver du: adressbok.adresser.förnamn == "Mikael"

  4. I rutan skriver du "Bäste".

  5. Skriv "Hej" i rutan Annars.

  6. Klicka på Infoga.

Stötta oss!