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 !!!
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 !!!
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 !!!
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 !!!
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.
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.
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.
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.
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" <home@sweet_home.be> a écrit dans le message de news:
ukCYpmDdGHA.564@TK2MSFTNGP02.phx.gbl...
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.
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.