Contenuto

# Dati

La scheda Dati permette di assegnare una sorgente dati al campo di controllo selezionato.

Per accedere a questo comando...

Aprite il menu di contesto di un elemento selezionato in un formulario e scegliete Proprietà del controllo, scheda Dati.

Aprite la barra degli strumenti Struttura del formulario, quindi fate clic sull'icona Campo di controllo e sulla scheda Dati.

Per i formulari con collegamento a un database è possibile definire il relativo database nelle Proprietà formulario. Le funzioni per questa operazione si trovano nella scheda Dati.

Le impostazioni disponibili nella scheda Dati dipendono dal tipo di campo di controllo. Vengono visualizzate solo le opzioni relative al campo di controllo e al contesto attuale.
Sono disponibili i seguenti campi:

## Area di celle di origine

Inserire un'area di celle che contiene le voci per una casella di riepilogo o una casella combinata in un foglio elettronico. Specificando un'area con più colonne, per il riempimento del controllo vengono utilizzati solo i contenuti della colonna all'estrema sinistra.

## Campo collegato

Se si elimina il contenuto della cella Campo collegato nel browser delle proprietà, per la visualizzazione e lo scambio dei dati viene utilizzato il primo campo del set di risultati.

Questa proprietà è disponibile per le caselle di riepilogo e determina quale campo di dati di una tabella collegata viene visualizzato nel formulario.

Se una casella di riepilogo nel formulario deve visualizzare contenuti di una tabella collegata con la tabella del formulario, definire nel campo Tipo del contenuto dell'elenco se la visualizzazione viene gestita da un comando SQL o se in questo caso si ricorre alla tabella (collegata). Con la proprietà Campo collegato indicare mediante un indice con quale campo di dati della ricerca o della tabella è collegata la casella di riepilogo.

La proprietà Campo collegato si applica solo ai formulari che vengono usati per accedere a più tabelle. Se il formulario è basato su una sola tabella, il campo da visualizzare è specificato direttamente in Campo di dati. Se tuttavia si vuole visualizzare in una casella di riepilogo i dati di una tabella collegata alla tabella attiva attraverso un campo di dati comune, il campo di dati collegato viene definito dalla proprietà Campo collegato.

Se è stato selezionato "SQL" in Tipo del contenuto della lista, l'indice da specificare dipende dal comando SQL. Esempio: specificando un comando SQL come "SELECT Campo1, Campo2 FROM nome_tabella" in Contenuto elenco, vale quanto segue:

Campo collegato | Collegamento
--- | ---
-1 | L'indice della voce selezionata nell'elenco è collegato al campo specificato in Campo di dati.
{vuoto} o 0 | Il campo database "Campo1" è collegato col campo indicato in Campo di dati.
1 | Il campo database "Campo2" è collegato col campo indicato in Campo di dati.

Se in Tipo del contenuto della lista è stata selezionata l'opzione "Tabella", l'indice da specificare dipende dalla struttura della tabella. Esempio: se in Contenuto elenco è stata selezionata una tabella di database, vale quanto segue:

Campo collegato | Collegamento
--- | ---
-1 | L'indice della voce selezionata nell'elenco è collegato al campo specificato in Campo di dati.
{vuoto} o 0 | La prima colonna della tabella è collegata col campo indicato in Campo di dati.
1 | La seconda colonna della tabella è collegata col campo indicato in Campo di dati.
2 | La terza colonna della tabella è collegata col campo indicato in Campo di dati.

## Campo di dati

Per i formulari basati su database, è possibile collegare i campi di controllo ai campi di dati.

Sono disponibili le seguenti opzioni:

1. Primo caso: il formulario contiene solo una tabella.

   Sotto Campo di dati, specificare il campo della tabella della sorgente dati di cui si vuole visualizzare il contenuto.

2. Secondo caso: il campo di controllo appartiene a un sottoformulario creato da una ricerca SQL.

   Sotto Campo di dati, specificare il campo del comando SQL di cui si vuole visualizzare il contenuto.

1. Terzo caso: Caselle combinate

   Per le caselle combinate è necessario indicare nel Campo di dati il campo della tabella di formulario attuale in cui devono essere memorizzati i valori digitati o selezionati dall'utente. I valori visualizzati nella lista della casella combinata vengono determinati mediante un comando SQL inserito in Contenuto elenco.

2. Quarto caso: Caselle di riepilogo

   La tabella della sorgente dati non contiene direttamente i dati da visualizzare, bensì una tabella collegata alla tabella della sorgente dati attraverso un campo di dati comune.

   Se si vogliono visualizzare in una casella di riepilogo i dati di una tabella collegata alla tabella della sorgente dati attiva, in Campo di dati specificare il campo della tabella della sorgente dati a cui fa riferimento il contenuto della casella di riepilogo. Oppure, è possibile specificare il campo del database che controlla la visualizzazione dei dati nel formulario. Se le due tabelle possono essere collegate con un campo di dati comune, questo campo di dati contiene il collegamento all'altra tabella. Si tratta solitamente di un campo di dati in cui sono memorizzati numeri di identificazione univoci. Il campo di dati il cui contenuto è visualizzato nel formulario è specificato da un comando SQL in Contenuto elenco.

Le caselle di riepilogo lavorano con riferimenti che possono essere realizzati con tabelle collegate tramite comandi SQL (quarto caso) o con liste valori:

Riferimenti attraverso tabelle collegate (istruzioni SQL)

Se si vuole visualizzare in una casella di riepilogo i dati di una tabella di database collegata alla tabella su cui è basato il formulario attraverso un campo di dati comune, il collegamento della tabella del formulario deve essere specificato in Campo di dati.

Il collegamento viene creato con un comando SQL Select, che, nel caso in cui si sia selezionato "SQL" o "Native SQL", deve essere specificato sotto Tipo del contenuto della lista nel campo Contenuto elenco. Ad esempio, si supponga di avere una tabella "Ordini" collegata al campo di controllo attivo del formulario e una tabella "Clienti" nel database collegata alla tabella "Ordini". È possibile usare l'istruzione SQL come segue:

SELECT NomeCliente, NumCliente FROM Clienti

dove "NomeCliente" è il campo dati della tabella collegata "Clienti", mentre "NumCliente" è il campo della tabella "Clienti" collegato al campo della tabella "Ordini" del formulario specificato in Campo di dati.

Riferimenti attraverso liste valori

Per le caselle di riepilogo è possibile utilizzare le liste valori. Si tratta di liste che definiscono valori di riferimento. Con questa opzione il campo di controllo nel formulario non mostra direttamente un contenuto del campo database, ma valori assegnati dalla lista valori.

Se si utilizzano valori di riferimento di un elenco di valori, nel formulario non viene visualizzato il contenuto del campo di dati specificato in Campo di dati, bensì il valore corrispondente. Se nella scheda Dati è stato scelto "Lista valori" come Tipo del contenuto della lista ed è stato assegnato un valore di riferimento alle voci dell'elenco visibili nel formulario indicate in Voci dell'elenco (specificate nella scheda Generale), i valori di riferimento vengono confrontati col contenuto del campo di dati specificato. Se un valore di riferimento corrisponde al contenuto di un campo di dati, nel formulario vengono visualizzate le voci dell'elenco associate.

## Cella collegata

Specifica il riferimento a una cella collegata in un foglio elettronico. Lo stato attivo o il contenuto del controllo sono collegati col contenuto della cella. Le tabelle seguenti elencano i controlli e il relativo tipo di collegamento:

### Casella di controllo con cella collegata

Operazione | Risultato
--- | ---
Selezionare la casella di controllo: | Nella cella collegata viene inserito VERO.
Deselezionare la casella di controllo: | Nella cella collegata viene inserito FALSO.
La casella di controllo a tre stati passa allo stato "non determinato": | Nella cella collegata viene inserito #NV.
Inserire un numero o una formula che restituisca un numero nella cella collegata: | Se il valore inserito è VERO o diverso da 0: la casella di controllo è selezionata. Se il valore inserito è FALSO o 0: la casella di controllo è deselezionata.
Cancellare la cella collegata o inserire un testo o una formula che restituisca un testo o un errore: | La casella di controllo è nello stato "non determinato" qualora sia una casella a tre stati, altrimenti è deselezionata.
Selezionare la casella. La casella Valore di riferimento contiene testo: | Il testo nella casella Valore di riferimento viene copiato nella cella.
Deselezionare la casella. La casella Valore di riferimento contiene testo: | Nella cella viene copiata una stringa vuota.
La casella Valore di riferimento contiene testo. Inserire lo stesso testo nella cella: | La casella di controllo è selezionata.
La casella Valore di riferimento contiene testo. Inserire un altro testo nella cella: | La casella di controllo è deselezionata.

### Pulsante di scelta (radio) con cella collegata

Operazione | Risultato
--- | ---
Selezionare il pulsante di scelta: | Nella cella collegata viene inserito VERO.
Il pulsante di scelta viene deselezionato quando si seleziona un altro pulsante di scelta: | Nella cella collegata viene inserito FALSO.
Inserire un numero o una formula che restituisca un numero nella cella collegata: | Se il valore inserito è VERO o diverso da 0: il pulsante di scelta è selezionato. Se il valore inserito è FALSO o 0: il pulsante di scelta è deselezionato.
Cancellare la cella collegata o inserire un testo o una formula che restituisca un testo o un errore: | Il pulsante di scelta è deselezionato.
Fare clic sul pulsante di scelta. La casella Valore di riferimento contiene testo: | Il testo nella casella Valore di riferimento viene copiato nella cella.
Fare clic su un altro pulsante di scelta dello stesso gruppo. La casella Valore di riferimento contiene testo: | Nella cella viene copiata una stringa vuota.
La casella Valore di riferimento contiene testo. Inserire lo stesso testo nella cella: | Il pulsante di scelta è selezionato.
La casella Valore di riferimento contiene testo. Inserire un altro testo nella cella: | Il pulsante di scelta viene deselezionato.

### Casella di testo con cella collegata

Operazione | Risultato
--- | ---
Inserire un testo nella casella di testo: | Il testo viene copiato nella cella collegata.
Cancellare la casella di testo: | Il contenuto della cella collegata viene cancellato.
Inserire un testo o un numero nella cella collegata: | Il testo o i numeri vengono copiati nella casella di testo.
Inserire una formula nella cella collegata: | Il risultato della formula viene copiato nella casella di testo.
Ripulire la cella collegata: | La casella di testo viene ripulita.

### Campo numerico e campo formattato con cella collegata

Operazione | Risultato
--- | ---
Inserire un numero nel campo: | Il numero viene copiato nella cella collegata.
Ripulire il campo: | Nella cella collegata viene impostato il valore 0.
Inserire un numero o una formula che restituisca un numero nella cella collegata: | Il numero viene copiato nel campo.
Cancellare la cella collegata o inserire un testo o una formula che restituisca un testo o un errore: | Nel campo viene impostato il valore 0.

### Casella di riepilogo con cella collegata

Le caselle di riepilogo supportano due diversi modi di collegamento; si veda la proprietà "Contenuti della cella collegata".

1. Contenuti collegati: sincronizzare il testo della voce selezionata nella casella di riepilogo con il contenuto della cella.

2. Posizione della selezione collegata: la posizione della singola voce selezionata nella casella di riepilogo viene sincronizzata col valore numerico nella cella.

Operazione | Risultato
--- | ---
Selezionare una singola voce dall'elenco: | I contenuti sono collegati: il testo della voce viene copiato nella cella collegata. La selezione è collegata: la posizione della voce selezionata viene copiata nella cella collegata. Ad esempio, se si seleziona la terza voce, verrà copiato il numero 3.
Selezionare svariate voci nell'elenco: | Nella cella collegata viene inserito #NV.
Deselezionare tutte le voci dell'elenco: | I contenuti sono collegati: il contenuto della cella collegata viene cancellato. La selezione è collegata: nella cella collegata viene inserito il valore 0.
Inserire un testo o un numero nella cella collegata: | I contenuti sono collegati: trovare e selezionare una voce uguale nell'elenco. La selezione è collegata: viene selezionata la voce nell'elenco nella posizione specificata (partendo da 1 per la prima voce). Se la voce non esiste, tutte le voci vengono deselezionate.
Inserire una formula nella cella collegata: | Trovare e selezionare una voce dell'elenco corrispondente al risultato della formula e ai modi di collegamento.
Ripulire la cella collegata: | Deselezionare tutte le voci nella casella di riepilogo.
Cambiare il contenuto dell'area di origine dell'elenco: | Le voci della casella di riepilogo vengono aggiornate in base alla modifica. La selezione viene mantenuta. Ciò può comportare un aggiornamento nella cella collegata.

### Casella combinata con cella collegata

Operazione | Risultato
--- | ---
Inserire un testo nel campo di modifica della casella combinata o selezionare una voce dall'elenco a discesa: | Il testo viene copiato nella cella collegata.
Ripulire il campo di modifica della casella combinata: | Il contenuto della cella collegata viene cancellato.
Inserire un testo o un numero nella cella collegata: | Il testo o il numero vengono copiati nel campo di modifica della casella combinata.
Inserire una formula nella cella collegata: | Il risultato della formula viene copiato nel campo di modifica della casella combinata.
Ripulire la cella collegata: | Il campo di modifica della casella combinata viene ripulito.
Cambiare il contenuto dell'area di origine dell'elenco: | Le voci dell'elenco a discesa vengono aggiornate in base alla modifica. Il campo di modifica della casella combinata e la cella collegata non cambiano.

## Contenuto della cella collegata

Selezionare il modo di collegamento di una casella di riepilogo con una cella collegata in un foglio elettronico.

1. Contenuti collegati: sincronizzate il testo della voce selezionata nella casella di riepilogo con il contenuto della cella. Selezionare "La voce selezionata".

2. Posizione della selezione collegata: la posizione della singola voce selezionata nella casella di riepilogo viene sincronizzata con il valore numerico nella cella. Selezionare "Posizione della voce selezionata".

## Contenuto elenco

Per i formulari basati su database, specifica la sorgente dati per il contenuto dell'elenco dell'elemento formulario. Questo campo può essere usato per definire un elenco di valori per i documenti senza una connessione a un database.

Nel caso dei formulari basati su database, le voci elencate nella casella di riepilogo o nella casella combinata dipendono dalla sorgente dati. In base al tipo selezionato, è possibile scegliere tra diverse sorgenti dati in Contenuto elenco, a condizione che tali oggetti esistano nel proprio database. Qui vengono offerti tutti gli oggetti database disponibili del tipo selezionato in Tipo del contenuto della lista. Se è stato selezionato il tipo "Lista valori", è possibile usare i riferimenti per i formulari basati su database. Se la visualizzazione del campo di controllo è controllata da un comando SQL, in questo campo viene inserita l'istruzione SQL.

Esempi di istruzioni SQL:

Per caselle di riepilogo, un'istruzione SQL può avere la seguente forma:

SELECT Campo1, Campo2 FROM tabella

in cui "tabella" è la tabella, i cui dati vengono visualizzati nella lista del campo di controllo (tabella dell'elenco). "Campo1" è il campo di dati che determina le voci visibili nel formulario. I suoi contenuti vengono visualizzati nella casella di riepilogo. "Campo2" è il campo della tabella dell'elenco collegata con la tabella del formulario (tabella valori) dal campo indicato in Campo di dati, se è stato scelto Campo collegato = 1.

Per caselle combinate, un'istruzione SQL può avere la seguente forma:

SELECT DISTINCT campo FROM tabella

In questa istruzione, "campo" è un campo di dati della tabella dell'elenco "tabella", il cui contenuto è visualizzato nell'elenco della casella combinata.

Liste valori in documenti HTML

Per i formulari HTML, è possibile inserire un elenco di valori sotto Contenuto elenco. Selezionare l'opzione "Lista valori" in Tipo del contenuto della lista. I valori inseriti in questo campo non saranno visibili nel formulario, ma verranno usati per assegnare i valori alle voci visibili. Le voci inserite in Contenuto elenco corrispondono al tag HTML <OPTION VALUE=...>.

Nel trasferimento di una voce selezionata da una casella di riepilogo o da una casella combinata, vengono presi in considerazione sia l'elenco dei valori visualizzati nel formulario, che erano stati inseriti nel campo Voci dell'elenco della scheda Generale, sia l'elenco dei valori inseriti nel campo Contenuto elenco della scheda Dati: se nella posizione selezionata nell'elenco dei valori (<OPTION VALUE=...>) si trova un testo, viene trasmesso questo testo. Diversamente, viene inviato il testo visualizzato nel campo di controllo (<OPTION>).

Se l'elenco dei valori deve contenere una stringa vuota, inserire il valore "$$$empty$$$" nella posizione corrispondente del campo Contenuto elenco (rispettando l'uso di maiuscole e minuscole). LibreOffice interpreta questo valore come una stringa vuota e la assegna alla voce dell'elenco corrispondente.

La tabella seguente illustra le relazioni tra HTML, JavaScript e il campo di LibreOffice Contenuto elenco sulla base di una casella di riepilogo di nome "ListBox1". "Item" definisce qui una voce dell'elenco visibile nel formulario:

Tag HTML | JavaScript | Voce in lista valori del campo di controllo (Contenuto elenco) | Trasmesso...
<OPTION>Elemento | Impossibile | "" | ...la voce dell'elenco visibile ("ListBox1=Item").
<OPTION VALUE="Valore">Elemento | ListBox1.options[0].value="Valore" | "Valore" | ...il valore assegnato alla voce dell'elenco ("ListBox1=Valore").
<OPTION VALUE="">Elemento | ListBox1.options[0].value="" | "$$$empty$$$" | ...una stringa vuota ("ListBox1=").

## Filtro proposto

Durante la creazione del formulario, per ognuna delle caselle di testo si possono impostare la proprietà "Filtro proposto" nella scheda Dati della finestra di dialogo Proprietà corrispondente. Nelle ricerche successive in modo filtro, si potrà selezionare tra tutte le informazioni contenute in questi campi. Il contenuto del campo potrà quindi essere selezionato usando la funzione di completamento automatico. Da osservare, tuttavia, che questa funzione rallenta le operazioni e richiede una maggiore quantità di memoria, in particolare se usata in database di grandi dimensioni.

## La stringa vuota è NULL

Definisce come gestire una stringa vuota in input. Se impostato a Sì, la stringa di lunghezza zero in input sarà trattata come valore NULL. Se impostato a No, qualsiasi input è trattato così come è inserito, senza alcuna conversione.

Una stringa vuota è una stringa di lunghezza zero (""). Generalmente, il valore NULL non è esattamente la stessa cosa di una stringa vuota. Tipicamente, il valore NULL è utilizzato per denotare un valore non definito, ignoto, o una situazione tipo "non è stato ancora inserito alcun valore."

I sistemi di database variano e ciascuno può gestire in modo diverso il valore NULL. Fare riferimento alla documentazione del database che si sta utilizzando.

## Tipo del contenuto della lista

Determina i dati da utilizzare per compilare le caselle di riepilogo e le caselle combinate.

Con l'opzione "Elenco valori", nel campo di controllo compaiono tutte le voci inserite nel campo Voci dell'elenco della scheda Generale. Per i formulari basati su database è possibile usare valori di riferimento (leggere la sezione Riferimenti attraverso elenchi di valori).

Se il contenuto del campo di controllo viene letto da un database, è possibile determinare il tipo di sorgente dati con le altre opzioni. Ad esempio, è possibile scegliere tra tabelle e ricerche.

## Valore di riferimento (off)

Caselle di selezione e pulsanti di scelta in un foglio di calcolo possono essere collegati a celle del documento corrente. Se il controllo è abilitato, il valore che si immette in Valore di riferimento (on) viene copiato nella cella. Se il controllo è disabilitato, viene copiato nella cella il Valore di riferimento (off).

## Valore di riferimento (on)

È possibile assegnare un valore di riferimento ai pulsanti di scelta e alle caselle di controllo. Tale valore verrà trasmesso a un server al momento dell'invio del formulario web. Per i formulari basati su un database, il valore inserito sarà scritto nel campo del database assegnato al campo di controllo.

Valori di riferimento in formulari web

I valori di riferimento sono utili quando si crea un formulario web e l'informazione sullo stato del controllo deve essere trasmessa a un server. Se il controllo viene selezionato dall'utente, il valore di riferimento corrispondente viene inviato al server.

Se ad esempio si dispone di due campi di controllo per le opzioni "femminile" e "maschile" e si assegna al primo il valore di riferimento 1 e al secondo il valore 2, facendo clic sul campo "femminile" verrà trasmesso al server il valore 1, mentre facendo clic sul campo "maschile" verrà trasmesso al server il valore 2.

Valori di riferimento in formulari database

Per i formulari database è possibile definire lo stato di un pulsante di scelta o di una casella di controllo anche mediante un valore di riferimento, che può essere salvato nel database. Se, ad esempio, si ha un raggruppamento di tre opzioni, quali "da fare", "OK" e "di nuovo", definire con i relativi valori di riferimento "DF", "OK" e "DN", questi vengono visualizzati nel database se si è fatto clic sulla rispettiva opzione.