Sisällys

# Ehtojen asettaminen

Ehdot ovat loogisia lausekkeita, joita voidaan käyttää ohjaamaan kenttien ja osien näkyvyyttä asiakirjassa. Vaikka oheisissa esimerkeissä käytetään kenttiä, ne soveltuvat myös osille.

Seuraaville kenttätyypeille voidaan asettaa ehtoja:

1. Ehdollinen teksti: näytetään teksti A, jos ehto on tosi eli täyttyy, tai teksti B, jos ehto on epätosi.

2. Piiloteksti: kentän sisältö piilotetaan, jos ehto on tosi.

3. Piilotettu kappale: piilotetaan kappale, jos ehto on tosi.

4. Mikä tahansa tietue ja seuraava tietue: ohjataan tietokannan tietueiden saatavuutta.

Yksinkertaisin tapa määritellä ehto on kirjoittaa looginen lauseke suoraan Ehto-ruutuun käyttäen seuraavia arvoja:

TRUE | Ehto täyttyy aina. Voidaan syöttää myös mikä tahansa muu arvo kuin 0 ehtotekstiksi.
FALSE | Ehto ei täyty. Voidaan myös käyttää arvoa 0.

Jos Ehto-ruutu jätetään tyhjäksi, tulkitaan ehto täyttymättömäksi.

Ehtoja aseteltaessa käytetään samoja osatekijöitä kuin laskentalausekkeitakin laadittaessa, nimittäin vertailuoperaattoreita, matemaattisia ja tilastollisia funktioita, numeromuotoiluja, muuttujia ja vakioita.

Seuraavia muuttujatyyppejä voidaan käyttää ehtoja asetettaessa:

1. Esimääritettyjä LibreOffice-muuttujia, jotka käyttävät tilastotietoja asiakirjan ominaisuuksista

2. Käyttäjän määrittelemiä muuttujia, jotka on luotu "Määritä muuttuja" -kentässä

3. Käyttäjän aineistoon perustuvat muuttujat

4. Tietokannan kenttien sisältöön perustuvat muuttujat

Sisäisiä muuttujia, kuten sivun ja sarakkeen numeroita, ei voi käyttää ehtolausekkeissa.

## Ehdot ja muuttujat

Seuraavissa esimerkeissä käytetään muuttujaa "x":

x == 1 tai x EQ 1 | Ehto on tosi, jos "x" on yhtä suuri kuin 1.
x != 1 tai x NEQ 1 | Ehto on tosi, jos "x" ei ole yhtä suuri kuin 1.
sinx == 0 | Ehto on tosi, jos "x" on piin monikerta.

Merkkijonojen käyttämiseksi vertailuoperaattoreissa pitää operandit merkitä lainausmerkkeihin:

x == "ABC" tai x EQ "ABC" | Tutkitaan, onko muuttujassa "x" merkkijono "ABC" (tosi) vai eikö (epätosi).
x == "" tai x EQ "" tai !x tai NOT x | Tutkitaan, onko muuttuja "x" tyhjä merkkijono.

"Yhtä suuri kuin" -vertailun operaattorissa pitää olla kaksi yhtäsuuruusmerkkiä (==). Jos esimerkiksi verrataan muuttujaa "x" arvoon 1, ehtolauseke kirjoitetaan x==1.

## Käyttäjän tiedot

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

Seuraavassa taulukossa on käyttäjän tietojen muuttujat ja niiden merkitys:

Muuttuja | Selite
--- | ---
user_firstname | Etunimi
user_lastname | Sukunimi
user_initials | Nimikirjaimet
user_company | Yritys
user_street | Katuosoite
user_country | Maa
user_zipcode | Postinumero
user_city | Postitoimipaikka
user_title | Otsikko
user_position | Sijainti
user_tel_work | Työpuhelinnumero
user_tel_home | Kotipuhelinnumero
user_fax | Faksinumero
user_email | Email address
user_state | Osavaltio (ei kaikissa LibreOffice-versioissa)

Esimerkiksi piilotettaessa kappaletta, tekstiä tai osaa määrätyn käyttäjän alkukirjaimien, vaikkapa "LM", perusteella, syötetään ehto: user_initials=="LM".

## Ehdot ja tietokannan kentät

Tietokannan tai tietokannan kenttien saatavuusehtoja voidaan asettaa. Esimerkiksi tietokannan kentän sisältöä voidaan tarkistaa ehdolla tai käyttää tietokannan kenttää loogisessa lausekkeessa. Seuraavassa taulukossa on muutamia lisäesimerkkejä tietokantojen käytöstä ehdoissa:

Esimerkki | Selite
--- | ---
Tietokanta.Taulu.Yritys Tietokanta.Taulu.Yritys NEQ "" Tietokanta.Taulu.Yritys != "" | Ehto täyttyy, jos YRITYS-kenttä ei ole tyhjä. (Ensimmäisessä esimerkissä ei tarvita operaattoria.)
!Tietokanta.Taulu.Yritys NOT Tietokanta.Taulu.Yritys Tietokanta.Taulu.Yritys EQ "" Tietokanta.Taulu.Yritys =="" | Tulokseksi saadaan TRUE (tosi), jos YRITYS-kentän sisältö on tyhjä.
Tietokanta.Taulu.Yritys != "Sun" Tietokanta.Taulu.Yritys NEQ "Sun" | Tulokseksi saadaan TRUE (tosi), jos YRITYS-kenttä ei ole "Sun". (Huutomerkki edustaa loogista EI:tä.)
Tietokanta.Taulu.Etunimi AND Tietokanta.Taulu.Sukunimi | Tulokseksi saadaan TRUE (tosi), jos tietueessa on etunimi ja sukunimi.

Boolen NOT "!" ja vertailuoperaattori eri suuri kuin "!=" (NEQ) eroavat toisistaan.

Kun ehtolausekkeessa viitataan tietokannan kenttään, käytetään muotoa Tietokannannimi.Taulunnimi.Kentännimi. Jos nimessä esiintyy merkkejä, jotka toimivat operaattoreina, kuten miinusmerkki (-), suljetaan nimi hakasulkeisiin, esimerkiksi näin Tietokannannimi.[Taulu-nimi].Kentännimi. Kentän nimissä ei pidä käyttää välejä.

### Esimerkki: tyhjän tietokantakentän piilottaminen

Käyttäjä voi olla luoda ehdon, jolla piilotetaan tyhjät kentät. Esimerkiksi, jos YRITYS-kenttä on tyhjä joissakin tietueissa, se piilotetaan.

Valitaan luettelosta Piilotettu kappale ja kirjoitetaan seuraava ehto: Osoitekirja.Osoitteet.Yritys EQ ""

tai kirjoitetaan

NOT Osoitekirja.Osoitteet.Yritys

Jos tietokannan YRITYS-kenttä on tyhjä, ehto täyttyy ja kappale piilotetaan.

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

## Esimerkkejä kenttien ehdoista

Seuraavissa esimerkeissä käytetään Ehdollinen teksti -kenttää, vaikka ne ovat sovellettavissa kaikkiin ehtolausekkeissa esiintyviin kenttiin. Ehdoille käytetty syntaksi on käytettävissä myös Piilotekstiin, Piilotettuun kappaleeseen, Mikä tahansa tietue tai Seuraava tietue -kenttiin.

## Sivulukumäärän mukaisesti ehdollisen tekstin esittäminen

1. Valitse Lisää - Kentät - Lisää kenttiä ja siirry Toiminnot-välilehdelle.

2. Napsauta Tyyppi-ruudussa "Ehdollinen teksti"-riviä.

3. Kirjoita Ehto-kenttään "page == 1".

4. Kirjoita Sitten-ruutuun "Sivuja on vain yksi".

5. Kirjoita Muutoin-ruutuun "Sivuja on useita".

6. Napsauta Lisää ja sitten Sulje.

## Käyttäjän määrittämien muuttujaehtojen mukaisesti esitettävät tekstit

1. Valitse Lisää - Kentät - Lisää kenttiä ja siirry Muuttujat-välilehdelle.

2. Napsauta Tyyppi-luettelossa "Määritä muuttuja"-riviä.

3. Kirjoita Nimi-kenttään "Voitto".

4. Kirjoita Arvo-kenttään "5000".

5. Napsauta Lisää.

6. Napsauta Toiminnot-välilehteä ja napsauta "Ehdollinen teksti"-riviä Tyyppi-luettelossa.

7. Kirjoita Ehto-ruutuun "Voitto < 5000".

8. Kirjoita Sitten-ruutuun "Tavoitetta ei saavutettu".

9. Kirjoita Muutoin-ruutuun "Tavoite on saavutettu".

10. Napsauta Lisää.

"Voitto"-muuttujan arvoa pääsee muuttamaan kaksoisnapsauttamalla muuttujan kenttää.

## Tietokannan kenttien asettamien ehtojen mukaisesti esitettävät tekstit

Ensimmäinen osa tätä esimerkkiä lisää välin "Etunimi"- ja "Sukunimi"-kenttien väliin asiakirjassa ja toisessa osassa tekstiä lisätään kenttien sisältöjen perusteella. Tämä esimerkki vaatii, että osoitelähde on rekisteröity LibreOfficessa.

1. Valitse Lisää - Kentät - Lisää kenttiä ja siirry Tietokanta-välilehdelle.

2. Napsauta Tyyppi-luettelosta "Joukkokirjeen kenttä".

3. Kaksoisnapsauta Tietokantavalinta-ruudussa osoitekirjaa, napsauta "Etunimi"-riviä ja napsauta sitten Lisää-painiketta. Toista "Sukunimelle".

4. Asiakirjassa asetetaan kohdistin kahden kentän väliin, painetaan Väli-näppäintä ja palataan Kentät-valintaikkunaan:

5. Napsauta Toiminnot-välilehteä ja napsauta sitten "Ehdollinen teksti"-riviä Tyyppi-luettelossa.

6. Kirjoita Ehto-ruutuun: "Osoitekirja.osoitteet.etunimi".

7. Kirjoita Sitten-ruutuun välilyönti ja jätä Muutoin-ruutu tyhjäksi.

Nyt voidaan käyttää Etunimi-kentän sisältöön perustuvaa ehtoa tekstin lisäämiselle.

1. Napsauta Kentät-valintaikkunassa Toiminnot-välilehteä.

2. Napsauta Tyyppi-ruudussa "Ehdollinen teksti"-riviä.

3. Kirjoita Ehto-ruutuun: Osoitekirja.osoitteet.etunimi == "Michael"

4. Kirjoita Sitten-kenttään "Hyvä".

5. Kirjoita Muutoin-kenttään "Hei".

6. Napsauta Lisää.