OVH Cloud OVH Cloud

Execution code sur formulaire

12 réponses
Avatar
cocochanel
Bonjour à tous,

Je souhaite récupérer la valeur d'un contrôle dans un formulaire au
chargement de celui-ci.
Pour cela je fais un script en vb sur le form load qui atteint le contrôle
puis récupère sa valeur.
Là j'ai un message d'erreur car la récupération de la valeur du contrôle se
faisant sur le chargement de la feuille, il se fait avant même que la valeur
se soit affichée dans le contrôle.

Pour contourner ça, j'ai utilisé la fonction timer, ce qui fait qu'il ne va
récupérer la valeur du contrôle qu'une seconde après le chargement du
formulaire; c'est-à-dire après que la valeur se soit affichée dans ce
contrôle.

Pourtant cette solution ne me satisfait pas du tout. Elle est approximative
et fait perdre un temps précieux à l'utilisateur.

Ma question est donc la suivante : y'a t-il possibilité de récupérer la
valeur contenue dans un contrôle au chargement du formulaire sans passer par
le timer ?

Par avance, merci.

2 réponses

1 2
Avatar
cocochanel
Arg ! impossible d'utiliser ce code à cause du movefirst !

J'explique : j'ai un formulaire sur une requête (type "Comme [entrez un
numéro de parrainage]") sur une table, laquelle contient un champ que je veux
tester au moment de l'ouverture du formulaire. Si le champ est vide, je veux
que le formulaire affiche une msgbox "Ce numéro n'est pas valide".
Or si le champ est vide, c'est que la requête n'a renvoyé aucun résultat.
Donc impossible de faire un movefirst.

Tout va bien, je suis sensé avoir mis tout ça en place pour le 01/04 !
Avatar
Gilles MOUGNOZ
Arg ! impossible d'utiliser ce code à cause du movefirst !
J'explique : j'ai un formulaire sur une requête (type "Comme [entrez un
numéro de parrainage]") sur une table, laquelle contient un champ que je
veux
tester au moment de l'ouverture du formulaire. Si le champ est vide, je
veux
que le formulaire affiche une msgbox "Ce numéro n'est pas valide".
Or si le champ est vide, c'est que la requête n'a renvoyé aucun résultat.
Donc impossible de faire un movefirst.
Tout va bien, je suis sensé avoir mis tout ça en place pour le 01/04 !


Bonjour, Coco Chanel

Si ton test peut être le fait que ta requête soit vide, tu peux utiliser le
code que je t'avais donné au départ, sauf que je me suis rendu compte que
j'avais fait une erreur de frappe :-( .
Voici le code modifié:

If Me.RecordsetClone.RecordCount = 0 Then
' ici ton code en cas de requête vide
' donc, de champ vide
End If

Bonne continuation

1 2