|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juin 2011 Messages : 34 ![]() |
Bonjour à tous,
Est il possible de verouiller un champ dans un formulaire. Je m'explique : j'ai dans un formulaire, une liste déroulante liée à une table. Je voudrais que selon le choix effectué dans cette liste deroulante, une autre liste soit (ou non) inaccessible. Exemple : Si dans la liste 1 (comportant A, B, C, D,...), je choisis A alors, je peux utiliser la liste déroulante 2. Si je n'ai pas choisi A, alors cette liste 2 est "verrouillée" et je ne peux l'utiliser. Merci de votre aide.... et une fois de plus : SUPER FORUM |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Nicolas GuimbalConsultant/développeur ERP Inscription : mai 2008 Messages : 1 256 ![]() |
Bonjour,
Petit code qui répond à l'exemple : Code :
|
||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juin 2011 Messages : 34 ![]() |
OK....
... suis un peu débutant : où dois je indiquer ce code et que dois je indiquer à la place de Liste1 ? Merci, suis pressé de tester |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Nicolas GuimbalConsultant/développeur ERP Inscription : mai 2008 Messages : 1 256 ![]() |
Dans le formulaire il doit y avoir 2 champs "liste1" et "liste2"
Mon code est une "procédure événementielle" qui fait partie des propriétés de liste1 et s'exécute automatiquement après chaque modification du champ. Il modifie une des propriétés de liste2... |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juin 2011 Messages : 34 ![]() |
OK, j'ai testé, cela fonctionne partiellement. Je m'explique :
J'ai mis comme valeur par défaut pour ma liste 1 = la valeur 1 et donc, si je ne clique pas dessus (ce qui n'est pas nécessaire si je veux avoir la valeur 1 dans ma table), il ne verrouille pas la liste 2. Par contre, si je clique sur la liste 1 et choisi la valeur 1, cela verrouille bien la liste 2 2ème soucis, je parviens à contourner ce verrouillage : en cliquant sur liste 1=1, je peux donc choisir une valeur de ma liste 2. Lorsque c'est fait, je peux revenir dans ma liste 1 et y choisir une autre valeur. J'ai donc Liste 1<>1 et Liste 2 avec une valeur. Je voudrais que si Liste 1 <> 1, il soit impossible de mettre une valeur dans liste 2, par quelque moyen que ce soit. J'espère être clair... |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Nicolas GuimbalConsultant/développeur ERP Inscription : mai 2008 Messages : 1 256 ![]() |
1. dans le form_open, il faut initialiser liste1.locked à true ou false en fonction de la valeur initiale de liste2
2. dans liste1.afterupdate, il est possible de modifier liste2 en fonction de la valeur choisie. On peut aussi jouer sur liste2.visible |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : juin 2011 Messages : 34 ![]() |
Ouch....
Là j'ai un peu de mal à comprendre.... où dois je encoder cela ? (et comment ?) Merci pour tes réponses rapides. |
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Nicolas GuimbalConsultant/développeur ERP Inscription : mai 2008 Messages : 1 256 ![]() |
1. Le plus simple est de définir liste2 comme invisible dans ses propriétés initiales
2. nouveau code Code :
|
||
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : juin 2011 Messages : 34 ![]() |
Merci, cela verrouille bien ma liste 2 si je choisi une valeur autre que 1 dans ma liste 1, par contre, j'ai toujours le soucis suivant :
Si je ne choisi pas dans ma liste 1 la valeur 1 (ce que je ne fais normalement pas puisqu'elle apparait par défaut), la liste 2 reste verrouillée. Avez vous une idée pour cela ?? |
|
|
00
|
|
|
#10 | ||
![]() ![]() |
Bonjour,
Utilise l'événement Sur activation du formulaire. Il se produit à l'ouverture du formulaire et à chaque changement d'enregistrement. Code :
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
||
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : juin 2011 Messages : 34 ![]() |
SUPER. Cela fonctionne parfaitement
Grand merci. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com