Frequently asked questions - Base

From The Document Foundation Wiki
< Faq‎ | Base‎ | 134
Jump to: navigation, search

Come posso formattare un campo in maiuscolo/minuscolo?

Questo è come fare, 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 "Text [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 "Campo mascherato". Questo controllo è un campo d'inserimento, come un campo di testo, che ha, oltre alle altre, due particolari proprietà.


Maschera d'inserimento Mettere 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 Si : Solo i caratteri specificati come validi saranno accettati

No : I caratteri invalidi verranno rimossi all'uscita del campo

Per convertire il campo "Cognome" automaticamente in maiuscolo usate il codice "X":

  • Tutti i caratteri sono abilitati (questo non è limitato alle lettere perchè è possibile digitare trattini e apostrofi)
  • Conversioni automatiche da minuscolo in maiuscolo
  • Il numero permesso di caratteri è indicato dal numero di X's
  • Convalidazione del campo : Sì

Per porre solo la prima lettera in maiuscolo del campo "nome", usate il codice "A" seguito da "x":

  • Il codice "A" permette di inserire solo le lettere maiuscole dalla A alla Z (trattini e apostrofi non sono permessi all'inizio del nome): Se una lettera minuscola viene inserita viene automaticamente converita in maiuscola.
  • Con "x" tutti i caratteri sono abilitati.


Usando una macro

È possibile associare una macro con il fatto dei campi di testo "Prima aggiorna". Questo evento viene attivato prima che i controlli cambiati siano scritti sul database.

Possiamo cambiare tutto ciò che è stato inserito con la conversione maiuscolo/minuscolo.

Sotto è il codice per le due procedure Python "PysCapitaliseAll" e "PysCapitaliseOne" le quali sono associate con i campi d'inserimento rispettivamente "Cognome" e "nome".

Questa tabella di procedura contiene i controlli interessati come un parametro. Loro 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

Note

  1. Codici dei formati https://help.libreoffice.org/Common/General_10#Edit_mask Table of format codes