Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Masquer des contrôles à l'ouverture d'un formulaire

5 réponses
Avatar
swoolj
Bonjour,

J'ai un Formulaire1 qui comporte deux boutons :
Bouton1 ouvre un Formulaire2 avec tous ses contrôles
Avec Bouton2 je voudrais ouvrir ce même Formulaire2 en masquant certains
boutons.

Dans le code Bouton2 de Formulaire1 j'utilise :
Forms![Formulaire2]![BoutonàCacher].visible = False
mais j'ai un message d'erreur "Objet requis";

Je ne dois pas faire ce qu'il faut car il semble que seuls les objets de
Formulaire1 restent accessibles. Je ne suis pas un pro de la programmation et
de VBA alors merci pour votre aide.

5 réponses

Avatar
Raymond [mvp]
Bonjour.

il faut d'abord ouvrir le formulaire2 par docmd.OpenForm et ensuite lancer
les commandes Forms!.....
Forms indique un objet formulaire ouvert obligatoirement.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"swoolj" a écrit dans le message de news:

Bonjour,

J'ai un Formulaire1 qui comporte deux boutons :
Bouton1 ouvre un Formulaire2 avec tous ses contrôles
Avec Bouton2 je voudrais ouvrir ce même Formulaire2 en masquant certains
boutons.

Dans le code Bouton2 de Formulaire1 j'utilise :
Forms![Formulaire2]![BoutonàCacher].visible = False
mais j'ai un message d'erreur "Objet requis";

Je ne dois pas faire ce qu'il faut car il semble que seuls les objets de
Formulaire1 restent accessibles. Je ne suis pas un pro de la programmation
et
de VBA alors merci pour votre aide.


Avatar
swoolj
Merci pour votre réponse.

En fait, dans mes essais je faisais bien un docmd.openForm mais comme suit :
stDocName = "Table2"
DoCmd.OpenForm stDocName, , , , acFormAdd, , Me.Auteur
Forms![Form_Table2]![CommandeEssai].Visible = False
mais j'avais le message d'erreur.

je viens d'essayer :
stDocName = "Table2"
DoCmd.OpenForm stDocName
Forms![Form_Table2]![CommandeEssai].Visible = False
ça marche.

il me reste à comprendre pourquoi
Merci encore et bonne soirée


Bonjour.

il faut d'abord ouvrir le formulaire2 par docmd.OpenForm et ensuite lancer
les commandes Forms!.....
Forms indique un objet formulaire ouvert obligatoirement.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"swoolj" a écrit dans le message de news:

Bonjour,

J'ai un Formulaire1 qui comporte deux boutons :
Bouton1 ouvre un Formulaire2 avec tous ses contrôles
Avec Bouton2 je voudrais ouvrir ce même Formulaire2 en masquant certains
boutons.

Dans le code Bouton2 de Formulaire1 j'utilise :
Forms![Formulaire2]![BoutonàCacher].visible = False
mais j'ai un message d'erreur "Objet requis";

Je ne dois pas faire ce qu'il faut car il semble que seuls les objets de
Formulaire1 restent accessibles. Je ne suis pas un pro de la programmation
et
de VBA alors merci pour votre aide.







Avatar
Charles ERNST
Y a un problèm dans :
stDocName = "Table2"
et
Forms![Form_Table2]![CommandeEssai].Visible = False

Je mettrais :
Forms![Table2]![CommandeEssai].Visible = False



"swoolj" a écrit dans le message de news:

Merci pour votre réponse.

En fait, dans mes essais je faisais bien un docmd.openForm mais comme suit
:
stDocName = "Table2"
DoCmd.OpenForm stDocName, , , , acFormAdd, , Me.Auteur
Forms![Form_Table2]![CommandeEssai].Visible = False
mais j'avais le message d'erreur.

je viens d'essayer :
stDocName = "Table2"
DoCmd.OpenForm stDocName
Forms![Form_Table2]![CommandeEssai].Visible = False
ça marche.

il me reste à comprendre pourquoi
Merci encore et bonne soirée


Bonjour.

il faut d'abord ouvrir le formulaire2 par docmd.OpenForm et ensuite
lancer
les commandes Forms!.....
Forms indique un objet formulaire ouvert obligatoirement.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"swoolj" a écrit dans le message de
news:

Bonjour,

J'ai un Formulaire1 qui comporte deux boutons :
Bouton1 ouvre un Formulaire2 avec tous ses contrôles
Avec Bouton2 je voudrais ouvrir ce même Formulaire2 en masquant
certains
boutons.

Dans le code Bouton2 de Formulaire1 j'utilise :
Forms![Formulaire2]![BoutonàCacher].visible = False
mais j'ai un message d'erreur "Objet requis";

Je ne dois pas faire ce qu'il faut car il semble que seuls les objets
de
Formulaire1 restent accessibles. Je ne suis pas un pro de la
programmation
et
de VBA alors merci pour votre aide.









Avatar
Alain
Bonjour,

Une suggestion : Créez une variable dans un module (j'utilise pour ma part
sytématiquement un module nommé Constantes qui peut me servir dans toute mon
appli rep pour réponse, deForm pour savoir de quel formulaire je viens,
refCli comme index client en cours ...). Suivant le bouton (1 ou 2) cliqué,
dans votre procédure et avant l'ouverture du formulaire, donnez à la variable
publique une valeur( 0 pour masquer par exemple ). Et dans l'évennement
d'ouverture du formulaire, insérez un code comme
If 'variable' = 0 then
controle1.visibleúlse
controle2.visibleúlse
etc...
end if

Bonne continuation


Bonjour,

J'ai un Formulaire1 qui comporte deux boutons :
Bouton1 ouvre un Formulaire2 avec tous ses contrôles
Avec Bouton2 je voudrais ouvrir ce même Formulaire2 en masquant certains
boutons.

Dans le code Bouton2 de Formulaire1 j'utilise :
Forms![Formulaire2]![BoutonàCacher].visible = False
mais j'ai un message d'erreur "Objet requis";

Je ne dois pas faire ce qu'il faut car il semble que seuls les objets de
Formulaire1 restent accessibles. Je ne suis pas un pro de la programmation et
de VBA alors merci pour votre aide.


Avatar
swoolj
Merci à tous pour vos infos
A bientôt