Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

prob perte focus

4 réponses
Avatar
je voudrais qu'un champ (textbox) se désactive (enabled = false) lorsque je
le quitte

le prob c'est que si je met "Me.champ.Enabled = False" sur lost_focus ou
sur Exit ça génére une erreur.
je trouve ça un peu bizarre que quand l'evenement sur perte focus se produit
ça veut donc dire que le champ a encore le focus vu qu'il est "impossible de
désactiver le controle actif"
de qui se moque t'on ? :-)

le prob c'est que je ne sais pas forcément quel champ va recevoir le focus
automatiquement ensuite (mon form est un peu compliqué, les tabs indexs
changent suivant certains parametres)

enfin tout ça pour dire que je comprends mal la chrono(logique) de
l'evenement sur perte focus..... quand il perd le focus... il l'a encore !!!

4 réponses

Avatar
3stone
| enfin tout ça pour dire que je comprends mal la chrono(logique) de
| l'evenement sur perte focus..... quand il perd le focus... il l'a encore !!!



Lorsque tu sort, tu es déjà dehors ??

;-))


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
LiR
Bonjour,

C'est discutable...

Il est indiqué mot pourt mot dans l'aide de MS Access :
"LostFocus (pour le contrôle du sous-formulaire qui avait le focus)"

Donc on pourrait s'attendre à ce qu'il ne l'ait plus (lost veut dire perdu
après tout!)

Quoi qu'il en soit, il existe une technique de contournement à ce problème :
laisser Access désactiver le contrôle lui-même!

En mettant une mise en forme conditionnelle rendant le contrôle Disabled
lors de l'événement LostFocus, par exemple en utilisant la propriété Tag du
contrôle :

Private Sub champ_LostFocus()
Dim ftc As FormatCondition
Set ftc = Me.champ.FormatConditions.Add(acExpression, , "champ.Tag=""D""")
ftc.Enabled = False
Me.champ.Tag = "D"
End Sub




| enfin tout ça pour dire que je comprends mal la chrono(logique) de
| l'evenement sur perte focus..... quand il perd le focus... il l'a encore !!!



Lorsque tu sort, tu es déjà dehors ??

;-))


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
Salut,

"LiR"
| C'est discutable...


Pas tant que ca, je trouve ;-)
La même raison empêche de redonner le focus lors de sa perte...

De toute façon, c'est la méthode qui est mauvaise.

On ne verrouille pas une zone de texte pas le fait de la quitter !!!
Cela annule toute possiblité de se corriger, quelque soit l'erreur (ou l'horreur) que l'on vient de
saisir.
Un champ se verrouille "après" la sauvegarde de l'enregistrement, et donc se réalise sur activation
du formulaire, sur test d'une condition.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
je comprends bien tout tes arguments.
L'evenement s'appelle lost_focus et pas before_lost_focus que je sache !
Oui pour moi, quand je sors je suis deja dehors :-) si je suis dedans c'est
que "je vais sortir"
maintenant c'est bon j'ai compris le raisonnement ... et je me suis fait à
l'idée...
Merci pour tes explications.


"3stone" a écrit dans le message de news:

Salut,

"LiR"
| C'est discutable...


Pas tant que ca, je trouve ;-)
La même raison empêche de redonner le focus lors de sa perte...

De toute façon, c'est la méthode qui est mauvaise.

On ne verrouille pas une zone de texte pas le fait de la quitter !!!
Cela annule toute possiblité de se corriger, quelque soit l'erreur (ou
l'horreur) que l'on vient de
saisir.
Un champ se verrouille "après" la sauvegarde de l'enregistrement, et donc
se réalise sur activation
du formulaire, sur test d'une condition.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/