Domande frequenti - Base
TDF LibreOffice Document Liberation Project Blog comunitari Weblate Nextcloud Redmine Ask LibreOffice Donazione
Come ottenere un controllo del formulario per visualizzare il valore di un campo in una tabella e quindi salvare il valore di un altro campo della stessa tabella?
Passare il formulario in modalità struttura.
In modalità Struttura crea un nuovo controllo
- Se non lo avete già fatto, attivate la modalità Struttura facendo clic sull'icona appropriata nella barra degli strumenti Struttura formulario.
- Nella barra degli strumenti Struttura formulario, fate clic sull'icona Controllo elenco, quindi disegnate una zona sul formulario per indicare dove posizionare il controllo.
La procedura guidata di controllo dovrebbe avviarsi automaticamente e guidare l'utente attraverso il processo. Per i dettagli rimanenti, si veda di seguito.
Utilizzare la modalità Struttura per sostituire un controllo del formulario esistente (ad esempio una casella di testo)
- Attivate la modalità Struttura formulario tramite la barra degli strumenti Struttura forumlario.
- Convertite un controllo esistente in una casella di riepilogo facendo clic con il pulsante destro del mouse sul controllo e selezionando Sostituisci con > Elenco dal menu contestuale.
Ad esempio, prendete una tabella denominata Client
contenente i campi ClientName
) e la chiave primaria associata (ClientId
). Ciò che vogliamo ottenere è che il modulo visualizzi il Nome cliente in una casella di riepilogo, ma utilizzi effettivamente il ClientID corrispondente nella tabella sottostante per scrivere quel valore altrove. È pertanto necessario dichiarare il campo in cui verranno salvati questi dati, associare una query SQL alla casella di riepilogo e impostare il campo della tabella da utilizzare per la visualizzazione, nonché quello per il salvataggio dei dati.
Per fare ciò, iniziate visualizzando le proprietà della casella di riepilogo del controllo della casella di riepilogo (barra degli strumenti Struttura formulario, selezionate il controllo con un clic del mouse e selezionate Proprietà), quindi scegliere Dati scheda della finestra di dialogo Proprietà.
Sotto Dati inserite il nome della tabella da utilizzare per il salvataggio dei dati.
Scegliete Sql come Elenco tipo di contenuto.
In Elenca contenuto, digitate SELECT ClientName, ClientId FROM Client
o fate clic sul pulsante che rappresenta i punti di sospensione per utilizzare la procedura guidata di creazione della query.
Nella query sopra, ClientName
è il primo campo restituito e ha un numero di indicizzazione pari a 0 e ClientId
è il secondo campo restituito con un numero di indicizzazione di 1.
L'elenco predefinito visualizzato in un controllo Listbox si basa sempre sul primo campo indicizzato, ovvero il numero di indicizzazione 0, quindi nel nostro esempio attuale, con i valori da ClientName
).
Poiché ciò che vogliamo effettivamente è il valore di ClientId (con un numero di indicizzazione di 1) da registrare, è necessario inserire il valore 1 nel Campo collegato.