Modulo
Contenuto
Indice 🔎︎

# Definire le condizioni

Definizione delle condizioni Le condizioni sono espressioni logiche con cui potete controllare la visualizzazione dei comandi di campo e delle sezioni nel documento. Gli esempi qui riportati si riferiscono ai comandi di campo ma valgono anche per le sezioni.

Potete definire le condizioni per i seguenti tipi di comandi di campo:

1. Testo condizionale: visualizza il testo A se la condizione è soddisfatta, diversamente visualizza il testo B.

2. Testo nascosto: se la condizione è soddisfatta nasconde il contenuto del campo.

3. Paragrafo nascosto: se la condizione è soddisfatta nasconde il paragrafo.

4. Qualsiasi record di dati e Record dati successivo: controllano l'accesso ai record del database.

Il modo più semplice per definire una condizione consiste nel digitare l'espressione logica direttamente nella casella Condizione usando i seguenti valori:

VERO | La condizione è sempre soddisfatta. In alternativa è anche possibile inserire come condizione un qualsiasi valore diverso da zero.
FALSO | La condizione non è soddisfatta. In alternativa è possibile indicare il valore 0.

Lasciando vuota la casella Condizione, la condizione viene interpretata come non soddisfatta.

Nel definire una condizione, usate gli stessi elementi che utilizzate per definire le formule, vale a dire operatori di confronto, funzioni matematiche e statistiche, formati numerici, variabili e costanti.

Per definire una condizione potete usare i seguenti tipi di variabile:

1. Variabili di LibreOffice predefinite, che utilizzano statistiche sulle proprietà del documento

2. Variabili personalizzate, che vengono create con il campo "Imposta variabile"

3. Variabili basate sui dati dell'utente

4. Variabili basate sul contenuto dei campi del database

Per definire le condizioni non potete utilizzare variabili interne, ad esempio i numeri di pagina o di capitolo.

## Condizioni e variabili

Gli esempi seguenti utilizzano una variabile di nome "x":

x == 1 oppure x EQ 1 | La condizione è vera se "x" è uguale a 1.
x != 1 oppure x NEQ 1 | La condizione è vera se "x" è diverso da 1.
senx == 0 | La condizione è vera se "x" è un multiplo di pi.

Per usare gli operatori di confronto nelle stringhe, dovete delimitare gli operandi con virgolette doppie:

x == "ABC" oppure x EQ "ABC" | Controlla se la variabile "x" contiene la stringa "ABC" (condizione vera) o non la contiene (condizione falsa).
x == "" oppure x EQ "" ovvero !x oppure NOT x | Controlla se la variabile "x" contiene una stringa vuota.

L'operatore di confronto "uguale" deve essere rappresentato da due segni di uguale (==) nella condizione. Se ad esempio definite una variabile "x" di valore 1, potete inserire la condizione come x==1.

## Dati utente

È possibile includere i dati utente quando si definiscono le condizioni. Per cambiare i dati utente, scegliete LibreOffice - PreferenzeStrumenti - Opzioni - LibreOffice - Dati utente. I dati utente devono essere immessi in forma di stringhe. È possibile confrontare i dati utente con "==" (EQ), "!=" (NEQ), o "!"(NOT).

La tabella seguente presenta le variabili utilizzate per i dati dell'utente e i relativi significati:

Variabile | Significato
user_firstname | Nome
user_lastname | Cognome
user_initials | Iniziali
user_company | Azienda
user_street | Via
user_country | Paese
user_zipcode | Codice postale
user_city | Luogo
user_title | Titolo
user_position | Posizione
user_tel_work | Tel.Uff.
user_tel_home | Tel.Priv.
user_fax | Fax
user_email | Indirizzo e-mail
user_state | Stato (non in tutte le versioni LibreOffice)

Ad esempio, per nascondere un paragrafo, un testo o una sezione a un utente con iniziali specifiche, ad esempio "LM", inserite la condizione: user_initials=="LM".

## Condizioni di campi database

Potete definire condizioni che controllino l'accesso ai database o ai campi dei database. Ad esempio, potete definire una condizione che controlli il contenuto di un campo del database, oppure usare i campi dei database nelle espressioni logiche. La tabella seguente contiene ulteriori esempi relativi all'uso dei database nelle condizioni:

Esempio | Significato
Database.Tabella.Azienda Database.Tabella.Azienda NEQ "" Database.Tabella.Azienda != "" | La condizione è vera se il campo COMPANY non è vuoto. (Nel primo esempio non sono richiesti operatori.)
!Database.Tabella.Azienda NOT Database.Tabella.Azienda Database.Tabella.Azienda EQ "" Database.Tabella.Azienda =="" | Restituisce TRUE se il campo AZIENDA è vuoto.
Database.Tabella.Azienda != "Sun" Database.Tabella.Azienda NEQ "Sun" | Restituisce TRUE se il contenuto attuale del campo AZIENDA è diverso da "Sun". (Il punto esclamativo rappresenta un NOT logico.)
Database.Tabella.Nome AND Database.Tabella.Cognome | Restituisce TRUE se il record contiene il nome e il cognome.

Osservate la differenza tra il Non "!" (NOT) logico e l'operatore di confronto Diverso "!=" (NEQ).

Quando fate riferimento al campo di un database all'interno di una condizione, usate la forma NomeDatabase.NomeTabella.NomeCampo. Se uno dei nomi contiene un carattere che è anche un operatore, ad esempio un segno meno (-), racchiudete quel nome tra parentesi quadre, ad esempio NomeDatabase.[Nome-tabella].NomeCampo. Non usate mai spazi vuoti all'interno dei nomi dei campi.

### Esempio: Paragrafo nascosto in un campo di database

Potete creare una condizione che nasconda un campo vuoto se il campo AZIENDA è vuoto per alcuni record di dati.

Selezionate la voce Paragrafo nascosto e digitate la seguente condizione: Rubrica.Indirizzi.Azienda EQ ""

oppure, digitate

NOT Rubrica.Indirizzi.Azienda

Se il campo AZIENDA del database è vuoto, la condizione è soddisfatta e il paragrafo viene nascosto.

Per visualizzare i paragrafi nascosti, scegliete LibreOffice - PreferenzeStrumenti - Opzioni - LibreOffice Writer - Formattazione e deselezionate la casella di controllo Campi: Paragrafi nascosti.

## Esempi di condizioni nei comandi di campo

Gli esempi seguenti utilizzano il comando di campo Testo condizionale, ma possono essere applicati a qualunque comando di campo che possa essere collegato a una condizione. La sintassi utilizzata per le condizioni viene usata anche per i comandi di campo Testo nascosto, Paragrafo nascosto, Qualsiasi record di dati o Record dati successivo.

## Per visualizzare un testo condizionale in base al numero di pagine:

1. Scegliete Inserisci - Comando di campo - Altri campi e fate clic sulla scheda Funzioni.

2. Nell'elenco Tipo di campo, fate clic su "Testo condizionale".

3. Nella casella Condizione, digitate "page == 1".

4. Nella casella Poi, digitate "È presente una sola pagina".

5. Nella casella Altrimenti, digitate "Sono presenti più pagine".

6. Fate clic su Inserisci e quindi su Chiudi.

## Per visualizzare un testo condizionale in base a una variabile personalizzata:

1. Scegliete Inserisci - Comando di campo - Altri campi e fate clic sulla scheda Variabili.

2. Nell'elenco Tipo di campo, fate clic su "Imposta variabile".

3. Nella casella Nome, digitate "Profitto".

4. Nella casella Valore, digitate "5000".

5. Fate clic su Inserisci.

6. Fate clic sulla scheda Funzioni e scegliete "Testo condizionale" nell'elenco Tipo di campo.

7. Nella casella Condizione, digitate "Profitto < 5000".

8. Nella casella Poi, digitate "L'obiettivo non è stato raggiunto".

9. Nella casella Altrimenti, digitate "L'obiettivo è stato raggiunto".

10. Fate clic su Inserisci.

Per modificare il contenuto della variabile "Profitto", fate doppio clic nel campo della variabile.

## Per visualizzare un testo condizionale in base al contenuto di un campo del database:

La prima parte di questo esempio inserisce uno spazio tra i campi "Nome" e "Cognome" nel documento, mentre la seconda parte inserisce un testo in base al contenuto di un campo. L'esempio richiede che la sorgente dati rubrica sia stata registrata con LibreOffice.

1. Scegliete Inserisci - Comando di campo - Altri campi e fate clic sulla scheda Database.

2. Nell'elenco Tipo di campo, fate clic su "Campo stampa in serie".

3. Nella casella Scelta database, fate doppio clic su una rubrica, fate clic su "Nome" e quindi su Inserisci. Ripetete la procedura per "Cognome".

4. Nel documento, posizionate il cursore tra i due campi, digitate uno spazio e quindi tornate alla finestra di dialogo Comandi di campo:

5. Fate clic sulla scheda Funzioni e scegliete "Testo condizionale" nell'elenco Tipo di campo.

6. Nella casella Condizione, digitate: "Rubrica.indirizzi.nome".

7. Digitate uno spazio nella casella Poi e lasciate vuota la casella Altrimenti.

A questo punto potete usare una condizione per inserire un testo in base al contenuto del campo Nome.

1. Nella finestra di dialogo Comandi di campo, fate clic sulla scheda Funzioni.

2. Nell'elenco Tipo di campo, fate clic su "Testo condizionale".

3. Nella casella Condizione, digitate: Rubrica.indirizzi.nome == "Michele"

4. Nella casella Poi, digitate "Caro".

5. Nella casella Altrimenti, digitate "Salve".

6. Fate clic su Inserisci.