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 potete definire il relativo database nelle Proprietà formulario. Le funzioni per questa operazione potete trovarle 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 eliminate 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, definite 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 indicate 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 volete 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 avete selezionato "SQL" in Tipo del contenuto della lista, l'indice da specificare dipende dal comando SQL. Esempio: se specificate 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 avete selezionato l'opzione "Tabella", l'indice da specificare dipende dalla struttura della tabella. Esempio: se in Contenuto elenco avete selezionato 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, potete 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, specificate il campo della tabella della sorgente dati di cui volete visualizzare il contenuto.

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

   Sotto Campo di dati, specificate il campo del comando SQL di cui volete visualizzare il contenuto.

1. Terzo caso: Caselle combinate

   Per le caselle combinate dovete indicare in 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 volete visualizzare in una casella di riepilogo i dati di una tabella collegata alla tabella della sorgente dati attiva, in Campo di dati specificate il campo della tabella della sorgente dati a cui fa riferimento il contenuto della casella di riepilogo. Oppure, potete 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 unici. 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 (statement SQL)

Se volete 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 abbiate selezionato "SQL" o "Native SQL", deve essere specificato sotto Tipo del contenuto della lista nel campo Contenuto elenco. Ad esempio, supponete di avere una tabella "Ordini" collegata al campo di controllo attivo del formulario e una tabella "Clienti" nel database collegata alla tabella "Ordini". Potete usare l'istruzione SQL come segue:

SELECT Nome cliente, N. cliente FROM Clienti

dove "Nome cliente" è il campo dati della tabella collegata "Clienti", mentre "Numero cliente" è 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 potete 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 utilizzate 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 avete scelto "Lista valori" come Tipo del contenuto della lista e avete 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
--- | ---
Selezionate la casella di controllo: | Nella cella collegata viene inserito VERO.
Deselezionate 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.
Inserite 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.
Cancellate la cella collegata o inserite 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.
Selezionate la casella. La casella Valore di riferimento contiene testo: | Il testo nella casella Valore di riferimento viene copiato nella cella.
Deselezionate la casella. La casella Valore di riferimento contiene testo: | Nella cella viene copiata una stringa vuota.
La casella Valore di riferimento contiene testo. Inserite lo stesso testo nella cella: | La casella di controllo è selezionata.
La casella Valore di riferimento contiene testo. Inserite un altro testo nella cella: | La casella di controllo è deselezionata.

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

Operazione | Risultato
--- | ---
Selezionate 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.
Inserite 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.
Cancellate la cella collegata o inserite un testo o una formula che restituisca un testo o un errore: | Il pulsante di scelta è deselezionato.
Fate clic sul pulsante di scelta. La casella Valore di riferimento contiene testo: | Il testo nella casella Valore di riferimento viene copiato nella cella.
Fate 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. Inserite lo stesso testo nella cella: | Il pulsante di scelta è selezionato.
La casella Valore di riferimento contiene testo. Inserite un altro testo nella cella: | Il pulsante di scelta viene deselezionato.

### Casella di testo con cella collegata

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

### Campo numerico e campo formattato con cella collegata

Operazione | Risultato
--- | ---
Inserite un numero nel campo: | Il numero viene copiato nella cella collegata.
Ripulite il campo: | Nella cella collegata viene impostato il valore 0.
Inserite un numero o una formula che restituisca un numero nella cella collegata: | Il numero viene copiato nel campo.
Cancellate la cella collegata o inserite 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; vedere la proprietà "Contenuti della cella collegata".

1. Contenuti collegati: sincronizzate 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
--- | ---
Selezionate 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 selezionate la terza voce, verrà copiato il numero 3.
Selezionate svariate voci nell'elenco: | Nella cella collegata viene inserito #NV.
Deselezionate 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.
Inserite un testo o un numero nella cella collegata: | I contenuti sono collegati: trovate e selezionate 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.
Inserite una formula nella cella collegata: | Trovate e selezionate una voce dell'elenco corrispondente al risultato della formula e ai modi di collegamento.
Ripulite la cella collegata: | Deselezionate tutte le voci nella casella di riepilogo.
Cambiate 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
--- | ---
Inserite un testo nel campo di modifica della casella combinata o selezionate una voce dall'elenco a discesa: | Il testo viene copiato nella cella collegata.
Ripulite il campo di modifica della casella combinata: | Il contenuto della cella collegata viene cancellato.
Inserite un testo o un numero nella cella collegata: | Il testo o il numero vengono copiati nel campo di modifica della casella combinata.
Inserite una formula nella cella collegata: | Il risultato della formula viene copiato nel campo di modifica della casella combinata.
Ripulite la cella collegata: | Il campo di modifica della casella combinata viene ripulito.
Cambiate 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. Selezionate "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. Selezionate "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, potete scegliere tra diverse sorgenti dati in Contenuto elenco, a condizione che tali oggetti esistano nel vostro database. Qui vengono offerti tutti gli oggetti database disponibili del tipo selezionato in Tipo del contenuto della lista. Se avete selezionato il tipo "Lista valori", potete 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 comandi SQL:

Per caselle di riepilogo, un comando 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 comando SQL può avere la seguente forma:

SELECT DISTINCT campo FROM tabella

In questo comando, "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, potete inserire un elenco di valori sotto Contenuto elenco. Selezionate 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, inserite 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>Item | 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="">Item | 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. Riferitevi alla documentazione del database che state 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 potete usare valori di riferimento (leggete la sezione Riferimenti attraverso elenchi di valori).

Se il contenuto del campo di controllo viene letto da un database, potete determinare il tipo di sorgente dati con le altre opzioni. Ad esempio, potete 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)

Potete 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.

Valori di riferimento in formulari Web

I valori di riferimento sono utili quando create 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 disponete di due campi di controllo per le opzioni "femminile" e "maschile" e assegnate 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 potete 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, avete un raggruppamento di 3 opzioni, quali "da fare", "OK" e "di nuovo", definite con i relativi valori di riferimento "DF", "OK" e "DN", questi vengono visualizzati nel database, se si è fatto clic sulla rispettiva opzione.