Masquer un bouton de commande sous access

Signaler
Messages postés
35
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
25 août 2012
-
Messages postés
35
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
25 août 2012
-
Bonjour,
J'ai développer sous access une BD. Dans cette BD figure un formulaire sur lequel se trouve un certain nombre de boutons de commande qui lancent une action (en l'espèce une macro dans word). Je voudrais faire en sorte qu'à l'ouverture du formulaire, en fonction de la valeur de certains champs du formulaire, ne chaque bouton de commande soit visible ou masqué.
J'ai beaucoup cherché mais j'avoue que je suis totalement bloqué.
Si quelqu'un peut m'aider, je lui en serai très reconnaissant.
Merci à tous.

8 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
avec si peu de renseignements, une seule réponse possible :
expression conditionnelle (tu es bien le seul à savoir laquelle) ===>> mettre à false la propriété visible des boutons à masquer !

Relis ta question et tu comprendras qu'aucune autre réponse plus précise ne peut t'être donnée !



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
35
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
25 août 2012

Bon, je vais m'efforcer d'être plus précis.
Le formulaire que j'ouvre à partir d'un autre formulaire via un bouton de commande reprend un certain nombre de champs issus d'une requête. Le lien entre mon formulaire et cette requête apparait dans la propriété du formulaire en tant que source des données (avec une commande du genre "select.nomchamps.nomrequête". Sur ce formulaire, figurent des bouton commande qui vont me permettre, sur clic, via un code évènement de lancer une action (en l'espèce une macro sous word). Pour programmer le code évènement, aucun problème. Par contre, je voudrais que mes boutons ne soient visible que si les champs ont une certaine valeur. Pour prendre un exemple, en imaginant que j'ai un champ "pays", je voudrais que le bouton "envoi d'un courrier", qui commande une macro sous word générant une lettre type", ne soit visible que si la valeur du champ "pays" est "France".
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Toujours peu clair !
Une requête aboutit généralement à la sélection de plusieurs enregistrements !
et donc :
Par contre, je voudrais que mes boutons ne soient visible que si les champs ont une certaine valeur. Pour prendre un exemple, en imaginant que j'ai un champ "pays", je voudrais que le bouton "envoi d'un courrier"

ne saurait avoir de sens que si un seul enregistrement sur ton formulaire !
Bref...
En tout état de cause : tu as ta réponse : propriété visible à mettre à false pour les boutons à masquer. Et le faire assorti d'une expression conditionnelle avec, comme critère, le champ dont il s'agit (en admettant qu'il soit seul sur ton formulaire).

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
35
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
25 août 2012

effectivement, je confirme qu'en fait il s'agit d'une requête qui par critère se limite à un enregistrement.
Donc, l'objectif est, en se basant sur cet enregistrement, de rendre visible ou non. En simplifiant, j'ai par exemple un champ qui reprend un chiffre(lequel est issu d'un compte d'enregistrement). Si ce chiffre est égal à 0, le bouton doit être masqué. Si le chiffre est positif, le bouton doit être visible.
C'est justement là que je bloque. Dans mon formulaire, je peux donner comme propriété à mon bouton "visible:non". Mais par contre, je ne vois pas comment je pourrais et où je dois agir pour prévoir l'expression conditionnelle.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Et dans quoi récupères-tu la valeur du champ en cause ?
- ce ne peut être que dans une variable ou dans la propriété d'un contrôle (ce qui revient au même).
Soit toto cette variable ou cette propriété. Si tu ne sais pas encore écrire :
if toto = 0 then
blabla.visible = false
else
blabla.visible = true
end if

je me demande très sérieusement ce que pourrait bien être le reste de ton code !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
35
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
25 août 2012

Le code qui exécute la macro word est le suivant

Dim wdapp As Word.Application

Set wdapp = CreateObject("Word.application")
With wdapp
       .Application.Run MacroName:="ntégration2"
       .Application.Run MacroName:="nv_euro_027"
End With
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Et ?
Quel rapport ?
Je n'en vois aucun !
Le code montré (ce bout de code) ne fait qu'appeler deux macros à exécuter dans word.
Et on n'y voit rien concernant le moindre champ issu de la moindre requête !

J'ai la très nette (et de plus en plus précise) impression de ce que tu "nages" complètement dans des bouts de code dont tu ne sais pas trop à quoi ils peuvent correspondre !

Voilà une discussion qui risque dans ces conditions fort de tourner en rond.
Bonne chance.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
35
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
25 août 2012

en fait, le code est celui qui s'exécute à l'aide du bouton que je veux ne pas rendre visible.
J'avais effectivement compris le code "toto". Mon problème est plutôt l'endroit où je dois inscrire ce code. J'avais pensé à le placer dans l'onglet "évenement" sur "sur entrée" mais ça ne donne rien.
Mon code est le suivant :
If CompteDeTN3 = "2" Then
Commande15.Visible = False
Else
Commande15.Visible = True


j'ai également essayé avec
If CompteDeTN3 = 2 Then
Commande15.Visible = False

Else
Commande15.Visible = True



comptedeTN3 est le champ, commande15 le bouton.

Mais ça ne donne rien