LibreOffice Base (7+) : Comment passer automatiquement en majuscule le contenu d'un textbox
Le tout réside dans la définition de l'évènement "a la perte du focus" du contrôle via une macro.
L'effet est qu'a la fin de saisie lorsque l'on passe a un autre contrôle sur le formulaire le script est appelé et le contenu est passé en majuscule.
Chaque contrôle sur lequel on souhaite ce traitement doit disposer de son propre script ( ex UC_serial )car il est spécifié le nom du formulaire (propriété de formulaire) et nom du contrôle textbox( propriété de contrôle) a traité.
PS: Si quelqu'un connait le moyen de récupérer le contrôle spécifique qui appelle le script on pourrais faire une fonction unique ce qui serait plus élégant...
Code:
1 2 3 4 5 6 7 8 9 10
|
Sub UC_Serial()
UPcaseTextBox("Form_Inventaire","txtSERIALNUMBER")
END SUB
Sub UPcaseTextBox(sFORM as string,sCtrl as string)
DIM sVal as string
sVal =ThisComponent.Drawpage.Forms.getByName(sFORM).getByName(sCtrl).text
ThisComponent.Drawpage.Forms.getByName(sFORM).getByName(sCtrl).text = UCase(sVal)
END SUB |
FAIRE EN SORTE QUE LA TABLE ENREGISTRE LE CONTENU EN MAJUSCULE
issue du site web LibreOffice (ask)
Il sagit en plus du passage en majuscule des caractères dans le textbox, de sauver modifier le contenu du champs.
On utilisera l’évènement "avant l'actualisation" pour placer cette macro sur le contrôle textbox.
Code:
1 2 3 4
|
Sub UPcaseText(PysEvent)
PysEvent.Source.text = Ucase(PysEvent.Source.text)
END SUB |