Dans un formulaire, j'ai 3 zones textes (ZONE1, ZONE2 et=20
ZONE3) et un bouton "Suivant".
Je NE voudrais activer (gris=E9) le bouton "Suivant" que ces=20
les 3 zones textes sont renseign=E9es. Sinon (m=EAme une seule=20
zone) est vide, alors laisser le bouton gris=E9.
J'ai mis un code =E0 l'ouverture du formulaire qui s'ouvre=20
en mode ajout (dc, les 3 zones sont vides):
Private Sub Form_Open(Cancel As Integer)
Commande5.Enabled =3D False
End Sub
et sur l'=E9v=E9nement apr=E8s mise-=E0-jour de la ZONE3:
Private Sub ZONE3_AfterUpdate()
If ZONE1> 0 And ZONE2> 0 And ZONE3 > 0 Then
Commande5.Enabled =3D True
Else
Commande5.Enabled =3D False
End If
End Sub
Je remplie zone par zone et lorsque je remplie ZONE3,=20
effectivement, le bouton s'active.
Mais, lorsque je supprime ce qui j'ai =E9crit en ZONE2 par=20
exemple (pour tester), le bouton reste activ=E9!!!!! Alors=20
qu'il faudrait se d=E9sactiver
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond
Bonsoir. Tu exécutes 3 fois le test sur chacune des zones, mais pour ne pas répéter tu les appelles par leur nom sur chaque bouton. Tu peux aussi placer la fonction MAJ dans un module, la définir public au lieu de private et faire appel à elle directement sur l'événement après maj de chaque zone.
Private Sub ZONE1_AfterUpdate() MAJ End Sub Private Sub ZONE2_AfterUpdate() MAJ End Sub Private Sub ZONE3_AfterUpdate() MAJ End Sub
Private Function MAJ() If ZONE1> 0 And ZONE2> 0 And ZONE3 > 0 Then Commande5.Enabled = True Else Commande5.Enabled = False End If End Function
-- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"atmus" a écrit dans le message de news:013b01c34af7$81079080$ Bonsoir,
Dans un formulaire, j'ai 3 zones textes (ZONE1, ZONE2 et ZONE3) et un bouton "Suivant".
Je NE voudrais activer (grisé) le bouton "Suivant" que ces les 3 zones textes sont renseignées. Sinon (même une seule zone) est vide, alors laisser le bouton grisé.
J'ai mis un code à l'ouverture du formulaire qui s'ouvre en mode ajout (dc, les 3 zones sont vides):
Private Sub Form_Open(Cancel As Integer) Commande5.Enabled = False End Sub
et sur l'événement après mise-à-jour de la ZONE3:
Private Sub ZONE3_AfterUpdate() If ZONE1> 0 And ZONE2> 0 And ZONE3 > 0 Then Commande5.Enabled = True Else Commande5.Enabled = False End If End Sub
Je remplie zone par zone et lorsque je remplie ZONE3, effectivement, le bouton s'active.
Mais, lorsque je supprime ce qui j'ai écrit en ZONE2 par exemple (pour tester), le bouton reste activé!!!!! Alors qu'il faudrait se désactiver
Qqn pourrait'il me donner un coup de main
Merci
Bonsoir.
Tu exécutes 3 fois le test sur chacune des zones, mais pour ne pas répéter
tu les appelles par leur nom sur chaque bouton. Tu peux aussi placer la
fonction MAJ dans un module, la définir public au lieu de private et faire
appel à elle directement sur l'événement après maj de chaque zone.
Private Sub ZONE1_AfterUpdate()
MAJ
End Sub
Private Sub ZONE2_AfterUpdate()
MAJ
End Sub
Private Sub ZONE3_AfterUpdate()
MAJ
End Sub
Private Function MAJ()
If ZONE1> 0 And ZONE2> 0 And ZONE3 > 0 Then
Commande5.Enabled = True
Else
Commande5.Enabled = False
End If
End Function
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"atmus" <atmus@no> a écrit dans le message de
news:013b01c34af7$81079080$a401280a@phx.gbl...
Bonsoir,
Dans un formulaire, j'ai 3 zones textes (ZONE1, ZONE2 et
ZONE3) et un bouton "Suivant".
Je NE voudrais activer (grisé) le bouton "Suivant" que ces
les 3 zones textes sont renseignées. Sinon (même une seule
zone) est vide, alors laisser le bouton grisé.
J'ai mis un code à l'ouverture du formulaire qui s'ouvre
en mode ajout (dc, les 3 zones sont vides):
Private Sub Form_Open(Cancel As Integer)
Commande5.Enabled = False
End Sub
et sur l'événement après mise-à-jour de la ZONE3:
Private Sub ZONE3_AfterUpdate()
If ZONE1> 0 And ZONE2> 0 And ZONE3 > 0 Then
Commande5.Enabled = True
Else
Commande5.Enabled = False
End If
End Sub
Je remplie zone par zone et lorsque je remplie ZONE3,
effectivement, le bouton s'active.
Mais, lorsque je supprime ce qui j'ai écrit en ZONE2 par
exemple (pour tester), le bouton reste activé!!!!! Alors
qu'il faudrait se désactiver
Bonsoir. Tu exécutes 3 fois le test sur chacune des zones, mais pour ne pas répéter tu les appelles par leur nom sur chaque bouton. Tu peux aussi placer la fonction MAJ dans un module, la définir public au lieu de private et faire appel à elle directement sur l'événement après maj de chaque zone.
Private Sub ZONE1_AfterUpdate() MAJ End Sub Private Sub ZONE2_AfterUpdate() MAJ End Sub Private Sub ZONE3_AfterUpdate() MAJ End Sub
Private Function MAJ() If ZONE1> 0 And ZONE2> 0 And ZONE3 > 0 Then Commande5.Enabled = True Else Commande5.Enabled = False End If End Function
-- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"atmus" a écrit dans le message de news:013b01c34af7$81079080$ Bonsoir,
Dans un formulaire, j'ai 3 zones textes (ZONE1, ZONE2 et ZONE3) et un bouton "Suivant".
Je NE voudrais activer (grisé) le bouton "Suivant" que ces les 3 zones textes sont renseignées. Sinon (même une seule zone) est vide, alors laisser le bouton grisé.
J'ai mis un code à l'ouverture du formulaire qui s'ouvre en mode ajout (dc, les 3 zones sont vides):
Private Sub Form_Open(Cancel As Integer) Commande5.Enabled = False End Sub
et sur l'événement après mise-à-jour de la ZONE3:
Private Sub ZONE3_AfterUpdate() If ZONE1> 0 And ZONE2> 0 And ZONE3 > 0 Then Commande5.Enabled = True Else Commande5.Enabled = False End If End Sub
Je remplie zone par zone et lorsque je remplie ZONE3, effectivement, le bouton s'active.
Mais, lorsque je supprime ce qui j'ai écrit en ZONE2 par exemple (pour tester), le bouton reste activé!!!!! Alors qu'il faudrait se désactiver
Qqn pourrait'il me donner un coup de main
Merci
Raymond
.../... je complète, si tu passes par un module tu ne peux pas passer par le contrôle directement pour le tester mais tu dois passer par Screen.ActiveControl je t'ai presque généré une erreur. -- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
.../...
je complète,
si tu passes par un module tu ne peux pas passer par le contrôle directement
pour le tester mais tu dois passer par Screen.ActiveControl
je t'ai presque généré une erreur.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
.../... je complète, si tu passes par un module tu ne peux pas passer par le contrôle directement pour le tester mais tu dois passer par Screen.ActiveControl je t'ai presque généré une erreur. -- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.