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 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 Campo mascherato. 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 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 convertita in maiuscola.
  • Con "x" tutti i caratteri sono abilitati.


Usando una macro

È possibile associare una macro con l'evento dei campi di testo "Aggiorna prima". 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 procedure contiene i controlli interessati come un parametro. Questi 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