verouiller sous-form sur valeur de ctrl form
Bonjour,Bonjour sur ACCESS2003, j’ai une base qui répertorie les renseignements sur plusieurs établissements scolaires selon plusieurs formulaires qui enregistrent dans plusieurs tables . Les établissements se classent : public ou privé, ce champs déjà remplis données déjà rentrés dans la table correspondante, et seulement visible pour information sur le formulaire principal dans un contrôle texte STATUT avec soit «public », soit « privé ». Pour synthétiser j’ai fait un formulaire principal FFIdDEff sur lequel j’ai fait glisser tous les sous formulaires dont un FFPrivé qui est essentiellement réservé aux établissements privés recueillant des info spécifiques à ces établissements privés.
Je voudrais que lorsque le contrôle visible STATUT public/privé sur le FFIdDeff principal prend la valeur « public », que le sous formulaire FFPrivé réservé aux établissements privés soit verrouillé totalement pour éviter des erreurs de saisies ; Pouvez-vous m’aider à rédiger un code VBA du genre :
Code:
1 2 3 4 5 6
| Private Sub STATUT_AfterUpdate()
If [FFIdDEff] ![STATUT]= « privé » then
? vérouille tous les contrôle de FFPrivé
? else
laisse FFPrivé accessible
End Sub |
Merci de votre aide.
verouiller ssform sur valeur de ctrl
Merci de m'avoir ouvert une piste mais disons que je suis complètement profane en VBA, je le place où ton code ? sur afterMAJ de mon contrôle ? ailleurs ? merci de m'aider.
verrouiller sous form sur valeur donnée de contrôle
Voila ce que j'ai cru comprendre mais ça ne marche pas : lsq mon contrôle STATUT prend la valeur "privé", le sous form FFPrivé reste avec ses contrôles accessibles. Je suis à peine dégrossi et je ne doute pas d'avoir tout fait de travers, pas de message d'erreur cependant revoyant au débogage. ; enabled ça veut bien dire accessible ? ou c'est le contraire ? Merci si tu vois quelque chose à changer..
Code:
1 2 3 4 5 6 7 8
| Private Sub STATUT_AfterUpdate()
Dim ctrl As Control
For Each ctrl In Me.FFPrivé.Form.Controls
ctrl.Enabled = True
Next
If Me.STATUT = "privé " Then
ctrl.Enabled = False
End Sub |
Code:
1 2 3 4 5 6 7 8 9
| Private Sub STATUT_Change()
Dim ctrl As Control
For Each ctrl In Me.FFPrivé.Form.Controls
ctrl.Enabled = True
Next
If Me.STATUT = "privé " Then
ctrl.Enabled = False
End Sub |
valeur ctrl bloquant tout contrôle sur sous form
Insérrer le code après maj, ça va, mais pour la suite je ne suis plus :
"Mais également sur le Activate??? du formulaire (pas du formulaire???)"
où est le activate du formulaire ? de quel formulaire s'agit-il ? de celui qui contient le ctrl texte public/privé dont seule la valeur "privé" doit rendre FFPrivé accessible ? ou du sous form FFPrivé ? "pas du formulaire" pourquoi ? Merci loufab, je ne suis pas trop calé pour l'instant..