LibreOfficeDev 25.8 Hjälp
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:
Villkorlig text: visar text A om villkoret är sant, eller text B om villkoret är falskt.
Dold text: döljer fältets innehåll om villkoret är sant.
Dolt stycke: döljer stycket om villkoret är sant.
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. | 
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:
Fördefinierade LibreOfficeDev-variabler som använder statistik på dokumentegenskaper
Anpassade variabler som skapas med fältet "Sätt variabel"
Variabler baserade på användardata
Variabler baserade på innehållet i databasfält
Du kan inte använda interna variabler i villkorsuttryck, till exempel sid- och kapitelnummer.
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. | 
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.
You can include user data when you define conditions. To change your user data, choose LibreOfficeDev - PreferencesTools - Options - LibreOfficeDev - 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 LibreOfficeDev-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".
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. | 
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.
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.
To display hidden paragraphs on the screen, choose , and clear the Hidden paragraphs check box.
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.
Välj Infoga - Fältkommando - Andra och klicka sedan på fliken Funktioner.
Klicka på "Villkorlig text" i listan Fälttyp.
I rutan Villkor skriver du "page == 1".
I rutan Så skriver du "Det finns bara en sida".
I rutan Annars skriver du "Det finns flera sidor".
Klicka på Infoga och sedan på Stäng.
Välj Infoga - Fältkommando - Andra och klicka sedan på fliken Variabler.
Klicka på "Sätt variabel" i listan Fälttyp.
Skriv "Vinst" i rutan Namn.
Skriv "5000" i rutan Värde.
Klicka på Infoga.
Klicka på fliken Funktioner och sedan på "Villkorlig text" i listan Fälttyp.
Skriv "Vinst < 5000" i rutan Villkor.
Skriv "Målet är inte uppnått" i rutan Så.
Skriv "Målet är uppnått" i rutan Annars.
Klicka på Infoga.
Om du vill redigera innehållet i variabeln "Vinst" dubbelklickar du på variabelfältet.
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 LibreOfficeDev.
Välj Infoga - Fältkommando - Andra och klicka sedan på fliken Databas.
Klicka på "Standardbrevfät" (kopplad utskrift) i listan Fälttyp.
Gå till rutan Databasurval, dubbelklicka på en adressbok, klicka på "Förnamn" och sedan på Infoga. Upprepa åtgärden för "Efternamn".
Placera markören mellan de två fälten i dokumentet, tryck på mellanslag och återgå sedan till dialogrutan Fält:
Klicka på fliken Funktioner och sedan på "Villkorlig text" i listan Fälttyp.
I rutan Villkor skriver du: "adressbok.adresser.förnamn".
I rutan Så 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.
Klicka på fliken Funktioner i dialogrutan Fält.
Klicka på "Villkorlig text" i rutan Typ.
I rutan Villkor skriver du: adressbok.adresser.förnamn == "Mikael"
I rutan Så skriver du "Bäste".
Skriv "Hej" i rutan Annars.
Klicka på Infoga.