Domande frequenti - Base
TDF LibreOffice Document Liberation Project Blog comunitari Weblate Nextcloud Redmine Ask LibreOffice Donazione
Come posso formattare un campo in maiuscolo/minuscolo?
Questo è come avere, per esempio, la voce di un campo Cognome tutta in maiuscolo e per il campo Nome con solo la prima lettera in maiuscolo.
Ci sono due diverse soluzioni: usando un campo nascosto o una macro.
Qualunque soluzione verrà scelta, è utile definire i campi rilevanti nella tabella tenendo i dati nel formato Testo [VARCHAR_IGNORECASE]. Le ricerche o le selezioni dalle query saranno più facili perché verranno contate come irrilevanti.
Usando una maschera di campo
Nella forma d'entrata, scegliete il controllo
. Questo controllo è un campo d'inserimento, come un campo di testo, che ha, oltre alle altre, due particolari proprietà.Maschera di inserimento | Mettete il codice del carattere, non devono essere inseriti i dati: un codice = un carattere[1]
Il codice determina come il campo verrà accettato in quella posizione. |
Convalidazione del campo | Sì: Solo i caratteri specificati come validi possono essere accettati
No: I caratteri non validi verranno rimossi lasciando il campo |
Per convertire automaticamente il campo "Nome" in maiuscolo, utilizzate il codice "X":
- Tutti i caratteri sono consentiti (questo non è limitato alle lettere perché è possibile inserire trattini o apostrofi)
- Conversione automatica da minuscolo a maiuscolo
- Il numero di caratteri consentito è indicato dal numero di caratteri X
- Convalida sul campo: Sì
Per mettere in maiuscolo solo la prima lettera del campo "Nome", utilizzate il codice "A" seguito da "x":
- Il codice "A" permette di inserire solo le lettere maiuscole dalla A alla Z (non sono ammessi trattini e apostrofi all'inizio di un nome): se viene inserita una lettera minuscola viene automaticamente convertita in maiuscola.
- Con "x" sono ammessi tutti i caratteri.
Usare una macro
È possibile associare una macro all'evento "Prima dell'aggiornamento" dei campi di testo. Questo evento viene attivato prima che il contenuto del controllo modificato venga scritto nel database.
Possiamo modificare tutto ciò che è stato inserito con la conversione maiuscolo/minuscolo.
Di seguito è riportato il codice per due procedure Python "PysCapitaliseAll" e "PysCapitaliseOne" che sono associate rispettivamente ai campi di immissione "Nome" e "Cognome".
Le procedure prendono come parametro il contenuto del controllo in questione. Cambiano il testo contenuto nel campo di testo.
- PysCapitaliseAll cambia tutto in maiuscolo.
- PysCapitaliseOne cambia solo il primo carattere in maiuscolo.
option explicit
sub PysCapitaliseOne(PysEvent)
PysEvent.Source.text = Ucase(left(PysEvent.Source.text, 1)) & Lcase(mid(PysEvent.Source.text, 2))
end sub
sub PysCapitaliseAll(PysEvent)
PysEvent.Source.text = Ucase(PysEvent.Source.text)
end sub
- File:FR.FAQ BASE 134 Capitaliser.odb Scarica un database di esempio
Note
- ↑ Codici dei formati https://help.libreoffice.org/latest/it/text/sbasic/shared/01170101.html