Domande frequenti - Base
TDF LibreOffice Document Liberation Project Blog comunitari Weblate Nextcloud Redmine Ask LibreOffice Donazione
Come posso implementare una selezione a discesa?
Quando si inseriscono i dati si desidera poter scegliere dall'elenco dei valori già contenuti nel campo. Ciò è possibile nei valori di testo Calc con un elenco di selezione (fate clic col tasto destro o Alt + Giù).
Vorremmo avere
Base fornisce questo, ma solo con un modulo.
- In altre parole, non con accesso diretto alla tabella.
- Per effettuare ciò in modalità "tabella" (foglio dati), create un modulo nell'assistente dati: la ricerca avviene quindi tramite una "tabella di controllo".
La tecnica utilizza un controllo casella combinata il cui tipo di contenuto sarà Sql e il contenuto è la selezione richiesta.
SELECT DISTINCT "Strumento" FROM "Tabella1" ORDER BY "Strumento" ASC
Note:
- La parola chiave DISTINCT forza l'elenco a omettere i duplicati.
- L'elenco è ordinato per facilitare la ricerca.
- Si consiglia di aggiungere un indice nel campo di ricerca (fate clic sul pulsante "Bozza indice" in modalità modifica tabella).
Queste sono le schermate per configurarlo:
L'uso di un controllo casella di selezione consente l'inserimento di nuovi valori. Questi vengono immediatamente presi in considerazione nell'elenco ma vengono aggiunti alla fine dell'elenco per impostazione predefinita fino al prossimo aggiornamento dei dati. Forzare l'aggiornamento inserendo una macro nell'evento Focalizza. La macro dovrebbe essere qualcosa di simile
option explicit Sub PysAcutaliserListe(PysEvent) PysEvent.source.model.refresh End Sub