Contenuto

# Dati

La scheda Dati consente di definire le proprietà relative al database collegato al formulario.

Definisce la sorgente dati su cui si basa il formulario, oppure specifica se i dati possono essere modificati dall'utente. Oltre alle funzioni di ordinamento e filtro si troveranno anche tutte le proprietà necessarie per creare un sottoformulario.

Per accedere a questo comando...

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

Aprite la barra degli strumenti Struttura del formulario, quindi fate clic sull'icona Proprietà del formulario, scheda Dati.

## Aggiungi dati

Determina se sia possibile aggiungere dati.

## Aggiungi solo i dati

Stabilisce se il formulario debba prevedere solo l'aggiunta di nuovi dati (Sì) oppure anche altre proprietà (No).

Se l'opzione Aggiungi solo i dati è impostata su "Sì", non è possibile modificare o eliminare i dati.

## Analizza i comandi SQL

Specifica se il comando SQL deve essere analizzato da LibreOffice. Se impostato su Sì, è possibile fare clic sul pulsante ... accanto alla casella di riepilogo Contenuti. Questo aprirà una finestra in cui si potrà creare graficamente una query. Quando si chiude la finestra, il comando SQL per la query creata verrà inserito nella casella di riepilogo Contenuti.

## Barra di navigazione

Specifica se è possibile utilizzare le funzioni di navigazione disponibili nella parte inferiore della barra delle funzioni per formulario.

L'opzione "Formulario padre" viene utilizzata per i sottoformulari. Se si sceglie questa opzione per un sottoformulario, è possibile navigare usando i record di dati del formulario principale se il cursore è nel sottoformulario. Un sottoformulario è collegato al formulario padre da una relazione 1 a 1, perciò la navigazione è sempre eseguita sul formulario padre.

## Ciclo

Determina le azioni di navigazione eseguite col tasto Tab. Usando il tasto Tab, è possibile spostarsi in avanti nel formulario. Premendo simultaneamente il tasto Maiusc, la navigazione avviene nella direzione opposta. Al raggiungimento dell'ultimo (o del primo) campo, il tasto Tab può produrre effetti diversi. Per definire il controllo del tasto, usare le seguenti opzioni:

Opzione | Significato
--- | ---
Predefinito | Con questa impostazione viene definito automaticamente un ciclo che si orienta verso un collegamento database esistente: conformemente all'impostazione predefinita, se nel formulario esiste un collegamento database, all'abbandono dell'ultimo campo per mezzo del tasto Tab si passa al record di dati successivo/precedente (vedere Tutti i record di dati). Senza collegamento database si passa al formulario successivo/precedente (vedere Pagina corrente).
Tutti i record di dati | Questa opzione si applica solo ai formulari dei database e viene usata per spostarsi in tutti i record. Se si utilizza il tasto Tab per uscire dall'ultimo campo di un formulario, il record attivo viene cambiato.
Record di dati corrente | Questa opzione si applica solo ai formulari di database e viene usata per spostarsi all'interno del record attivo. Se si utilizza il tasto Tab per uscire dall'ultimo campo di un formulario, il record attivo viene cambiato.
Pagina corrente | All'uscita dall'ultimo campo di un formulario, il cursore passa al primo campo del formulario successivo. Questa è l'impostazione standard per i formulari HTML; questa opzione è perciò particolarmente rilevante per i formulari HTML.

## Collega a

Se è stato creato un sottoformulario, inserire la variabile in un punto in cui possano essere memorizzati i valori del campo del formulario principale. Se un sottoformulario è basato su una ricerca, inserire la variabile definita nella ricerca. Se è stato creato un formulario usando un'istruzione SQL specificata nel campo Sorgente dati, inserire la variabile che avete usato nell'istruzione. È possibile scegliere qualunque variabile. Per inserire più valori, premere Maiusc+Invio.

Se in Collega da si indica come campo sovraordinato, ad esempio, il campo database "ClientiID", definire in Collega a il nome delle variabili in cui devono essere letti i valori del campo database "ClientiID". Se ora, con l'aiuto di queste variabili, si indica un comando SQL nel campo Sorgente dati, i relativi valori vengono visualizzati nel sottoformulario.

## Collega da

Se è stato creato un sottoformulario, inserire il campo dati del formulario principale che determina la sincronizzazione con il sotto-formulario. Per inserire più valori, premere Maiusc+Invio dopo ogni riga di digitazione.

Il sottoformulario si basa su una ricerca SQL, e più precisamente su una ricerca di parametri. Se nella casella Collega da si digita un nome di campo, i dati del campo vengono letti dal formulario principale in una variabile che va indicata nel campo Collega a. Per mezzo di un apposito comando SQL questa variabile viene confrontata con i dati della tabella alla quale si riferisce il sottoformulario. In alternativa, è possibile inserire il nome della colonna nella casella Collega da.

A tale scopo si osservi l'esempio seguente:

La tabella database alla base del formulario è, ad esempio, un database di clienti ("Clienti") nel quale ogni cliente viene contrassegnato mediante un numero ben definito e cioè con un campo di dati dal nome di "Clienti_ID". Si gestiscono gli ordini di un cliente in un'altra tabella database. Ora si vogliono visualizzare nel formulario gli ordini per ogni cliente inserito. A questo scopo, creare il sottoformulario e in Collega da indicare il campo di dati dal database Clienti nel quale può essere identificato chiaramente il cliente, quindi "Clienti_ID" (senza virgolette). In Collega a inserire il nome di una variabile che deve aggiungere i dati del campo Clienti_ID, quindi ad esempio "x".

Il sottoformulario dovrebbe presentare i dati appropriati della tabella degli ordini ("Ordini") per ogni ID cliente (ID_cliente -> x). Questo è possibile solo se ogni ordine è assegnato in modo univoco a un solo cliente nella tabella degli ordini. In alternativa, è possibile usare un altro campo di nome ID_cliente; tuttavia, per evitare che questo campo non venga confuso con il campo omonimo del formulario principale, è preferibile denominarlo Numero_cliente.

Confrontare il Numero_cliente della tabella "Ordini" con l'ID_cliente della tabella "Clienti" usando, ad esempio, la variabile x con la seguente istruzione SQL:

SELECT * FROM Ordini WHERE Nr_CLienti =: x (se il sottoformulario deve visualizzare tutti i dati da una tabella Ordine)

oppure:

SELECT Articolo FROM Ordini WHERE Nr_Clienti =: x (se il sottoformulario deve visualizzare dalla tabella Ordine solamente i dati del campo "Articolo")

È possibile digitare il comando SQL nel campo Sorgente dati oppure creare una ricerca di parametro corrispondente con cui creare il sottoformulario.

## Contenuto

Determina il contenuto da utilizzare per il formulario. Il contenuto può essere una tabella o una ricerca esistente (precedentemente creata nel database), oppure può essere definita da un'istruzione SQL. Prima di inserire un contenuto, bisogna definirne il tipo esatto in Tipo di contenuto.

Se è stata selezionata "Tabella" o "Ricerca" in Tipo di contenuto, la casella elenca tutte le tabelle e ricerche impostate nel database selezionato.

## Elimina dati

Determina se sia possibile eliminare i dati.

## Filtro

Inserire le condizioni richieste per filtrare i dati nel formulario. Le specifiche del filtro seguono le regole SQL senza utilizzare la clausola WHERE. Ad esempio, se si vogliono visualizzare tutti i record con il nome "Michele", digitare nel campo dati: Forename = 'Michele'. È possibile anche combinare più condizioni: Forename = 'Michele' OR Forename = 'Pietro'. In questo caso, verranno visualizzati tutti i record corrispondenti a queste due condizioni.

La funzione di filtro è disponibile attraverso le icone Filtro automatico e Filtro predefinito nella barra delle funzioni per formulario.

## Modifica dati

Determina se sia possibile modificare i dati.

## Ordina

Permette di specificare le condizioni di ordinamento dei dati nel formulario. Le condizioni di filtro seguono le regole SQL senza utilizzare la clausola ORDER BY. Ad esempio, se desiderate ordinare tutti i record di un database in modo crescente in un campo e in modo decrescente in un altro campo, digitate Nome ASC, Cognome DESC (supponendo che Nome e Cognome siano i nomi dei campi di dati).

In modo utente, per ordinare i dati sono disponibili le seguenti icone nella barra delle funzioni per formulario: Ordina in modo crescente, Ordina in modo decrescente, Ordina.

## Sorgente dati

Definisce la sorgente dati a cui deve fare riferimento il formulario. Facendo clic sul pulsante ... viene aperta la finestra di dialogo Apri, in cui è possibile scegliere una sorgente dati.

## Tipo di sorgente dati

Indica se la sorgente dati debba essere una tabella del database o una ricerca esistente, oppure se il formulario debba essere generato in base a un'istruzione SQL.

Se si sceglie "Tabella" o "Ricerca", il formulario si riferisce alla tabella o ricerca esistente indicata in Contenuto. Se si vuole creare una nuova ricerca o creare un sottoformulario è necessario scegliere l'opzione "SQL". È possibile quindi digitare direttamente il comando per la ricerca SQL o il sottoformulario nel campo Contenuto elenco nelle proprietà del controllo della scheda Dati.

## Informazioni sul sottoformulario

I formulari vengono creati sulla base di una tabella database o di una ricerca database. Rappresentano i dati preparati visivamente e possono servire alla digitazione di nuovi dati o alla modifica di dati già esistenti, memorizzati nella tabella o ricerca database alla base del formulario.

Se serve un formulario che possa fare riferimento ai dati di una tabella o di una ricerca e che possa anche visualizzare i dati di un'altra tabella, è necessario creare un sottoformulario. Ad esempio, il sottoformulario potrebbe essere una casella di testo che visualizzi i dati di un'altra tabella del database.

Un sottoformulario è un "elemento complementare al formulario principale". Il "formulario principale" è un "formulario di livello superiore" o "master". I sottoformulari sono necessari se si vuole accedere a più tabelle. Per ogni tabella supplementare è necessario un sottoformulario.

Dopo averlo creato, è possibile trasformare un formulario in un sottoformulario. A questo scopo, passare alla vista struttura e aprire il Navigatore formulario. Nel Navigatore formulario, trascinare un formulario (quello che diverrà un sottoformulario) su un qualsiasi altro formulario (che fungerà da documento master).

L'utente del documento non sarà in grado di vedere che il formulario è dotato di sottoformulari. L'utente vedrà solo un documento in cui inserire i dati o visualizzare quelli esistenti.

Specificare l'impostazione "Collega da" dei campi dati nel formulario master. Nel formulario secondario, il campo "Collega per" può essere impostato in modo da corrispondere al campo "Collega da".

Quando l'utente esplora i dati, il formulario visualizza sempre il record di dati attivo. Se sono stati definiti dei sottoformulari, i loro contenuti verranno visualizzati dopo un breve ritardo (circa 200 ms). Questo ritardo consente di passare rapidamente da un record all'altro nel formulario master. Se si passa rapidamente al record di dati successivo del formulario principale, i dati del formulario secondario non vengono richiamati e visualizzati.