Page 1 sur 1

[Résolu][Base] Saisie de champ en majuscules

Publié : 29 juil. 2019 21:36
par niuxe
Bonjour tout le monde,

Je suis en train de me créer une petite base de données via base. Je rencontre quelques soucis. Là pour un champ, j'aimerai que la saisie soit en majuscule. Lorsque j'édite le formulaire, que j'édite le champ en question (panneau contrôle), je vais dans l'onglet "événements" et je sélectionne "à la perte du focus", je vais chercher une macro :

[img]h**ps://image.noelshack.com/minis/2019/31/1/1564435905-capture-d-ecran-de-2019-07-29-23-31-12.png[/img].
La modération vous a écrit: Pas d'image hébergée en dehors du forum : veuillez utiliser notre service de PJ.

Je la sélectionne et je teste. Mais voilà, elle n'a pas l'aire de fonctionner.

J'ai cherché sur le forum et je suis tombé sur ce sujet : https://forum.openoffice.org/fr/forum/v ... le#p252579

Le souci étant que je ne sais pas comment installer cette macro. Aussi, je pense devoir en créer pour moi (un peu plus tard). J'ai vu que les langages acceptées sont entres autres le Javascript et le Python. Ça tombe bien, je connais assez bien ces langages.

Si vous pouvez me donner un petit coup de main ce serait bien sympa.

Bonne journée.

Re: insérer une macro de manière permanente

Publié : 30 juil. 2019 06:51
par Bidouille
Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.

Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche. Avez-vous remarqué comment étaient les autres questions postées ?

Lisez ce fil pour savoir quelle balise utiliser : http://forum.openoffice.org/fr/forum/su ... html#27295

N'oubliez pas que le terme "Macro" ou "OpenOffice" ne doit pas être employé car il est implicite. Essayer de synthétiser au mieux ce que vous cherchez à faire.

Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.

Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même sous peine de voir votre sujet verrouillé.

Re: [Base] Saisie de champ en majuscules

Publié : 30 juil. 2019 08:13
par jeanmimi
Bonjour,
niuxe a écrit :Je la sélectionne et je teste. Mais voilà, elle n'a pas l'aire de fonctionner.
Dans le sujet dont tu donnes le lien, la Macro est activée par "Avant actualisation" et non pas par "A la perte du focus".

Re: [Base] Saisie de champ en majuscules

Publié : 30 juil. 2019 08:35
par Hubert Lambert
Bonjour,

Ci-joint un petit exemple.
Les macros python, associées à l'événement "Avant actualisation" :

Code : Tout sélectionner

def nom_en_maj(event):
    source = event.Source
    source.Text = source.CurrentValue.upper()

def prenom_en_cap(event):
    source = event.Source
    source.Text = source.CurrentValue.title() 
Cordialement.

Re: [Base] Saisie de champ en majuscules

Publié : 31 juil. 2019 05:33
par plonge
Bonjour,
Pour passer le texte frappé dans un champ en majuscule quelque soit son écriture.

Code : Tout sélectionner

Sub NomEnMaj	'passe le nom en majuscule quelque soit son écriture
Dim Ctl1 As String
Dim monCtrl1 As Object, oForm As Object
	maConnexion = ThisDatabasedocument.CurrentController.ActiveConnection
	Statement = maConnexion.createStatement()	
	oForm = ThisComponent.DrawPage.Forms.getByName("Mon_Formulaire")
	monCtrl1 = oForm.getByName("Mon_Champ")
	Ctl1 = monCtrl1.Text
	Ctl1 = Ucase(Ctl1)
	monCtrl1.Text = Ctl1
	monCtrl1.commit
End Sub
A affecter à l'événement "Modifié" du champ concerné.
Cordialement