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

placer un bouton dans formulaire qui ouvre un état

3 réponses
Avatar
didiersee
Bonjour =E0 tous(tes), je dispose d'un formulaire qui est utiliser pour
introduires des donn=E9es dans ma table, lorsque j'ai introduit les
donn=E9es j'aimerai avoir un bouton sur mon formulaire qui lance un etat
qui me permet de voir les donn=E9es inroduites, le probl=E8me je dispose
d=E9j=E0 d'un etat mais il me demande un nom =E0 introduire avant
d'=EAtrre visible pcq l'etat est bas=E9 sur une requ=EAte.
Je suppose que le bouton de mon formulaire d'introduction doit =EAtre
li=E9 =E0 une macro qui lance le formulaire et place automatiquement le
nom qui vient d'=EAtre introduit dans le formulaire.
Est ce que quelqu'un peut m'aider pcq pour le code l=E0 c'est autre
chose.
Merci d'avance pour votre aide.

3 réponses

Avatar
joyeux atchoum
Bonjour

A priori il y a plusieurs solutions :

Tu peux sur l'evenement bouton_click
Faire dans ce gout ci

Set Qry = CurrentDb.QueryDefs("rqt_XX")
Qry.Parameters("param1") = valeur1
Qry.Parameters("paramN") = valeurN

docmd.OpenReport "tonetat"

Set Reports("tonetat").recordset = Qry.openrecordset

Pour ma part j'utilise une requete action, l'état se base sur le
resultat de la requete action
Cela évite de faire le set recordset

Il existe une autre solution, celle de rédiger ta requete SQL en dur
et de l'affecter au recorsource de ton état soit sur l'evenement
report_open soit sur bouton_click

Je pense qu'il existe d'autres solutions peut être plus pertinentes.

En espérant ne pas être trop rouillé

ja
qui sait enfin à quoi ressemble la pluie
Avatar
didiersee
joyeux atchoum schreef:

Bonjour

A priori il y a plusieurs solutions :

Tu peux sur l'evenement bouton_click
Faire dans ce gout ci

Set Qry = CurrentDb.QueryDefs("rqt_XX")
Qry.Parameters("param1") = valeur1
Qry.Parameters("paramN") = valeurN

docmd.OpenReport "tonetat"

Set Reports("tonetat").recordset = Qry.openrecordset

Pour ma part j'utilise une requete action, l'état se base sur le
resultat de la requete action
Cela évite de faire le set recordset

Il existe une autre solution, celle de rédiger ta requete SQL en dur
et de l'affecter au recorsource de ton état soit sur l'evenement
report_open soit sur bouton_click

Je pense qu'il existe d'autres solutions peut être plus pertinentes.

En espérant ne pas être trop rouillé

ja
qui sait enfin à quoi ressemble la pluie



je ne vois pas bien comment mettre ce que tu expliques en pratique donc
je ré explique pcq je ne suis peut-être pas clair, donc j'ai un état
qui existe basé sur une requête nom, je tappe le nom et l'etat
s'ouvre.
J'ai un formulaire pour faire mes introductions, et je suis sur la
fiche client lucien par exemple, j'ai crée un bouton sur mon
formulaire quand je clique sur ce bouton le formulaire
se ferme et un état s'ouvre mais je dois à nouveau introduire le nom
lucien,j'aimerai ne plus devoir introduire lucien puisque je viens de
quitter sa fiche que je viens de remplir via le formulaire, donc il
faudrait du code qui copie le nom lucien qui est sur le formulaire et
le place dans la boite de dialogue qui ouvre mon état.
Voilà en tous cas merci pour votre réponse aussi rapide.

Avatar
joyeux atchoum
bonjour

Dans ce cas ce serait ça

sub btnOuvrirEtat_Click()
'charge la requete parametrée de l'état
Set Qry = CurrentDb.QueryDefs("rqt_XX")
'affecte les paramétre selon un control du formulaire
Qry.Parameters("nom_client") = Me.zdtNomClient
'ouvre l'état voulu
docmd.OpenReport "tonetat"
'charge la requete avec les paramétres
Set Reports("tonetat").recordset = Qry.openrecordset
'ferme le formulaire
docmd.close acform me.name
end sub

Donc pour éviter d'avoir à saisir le nom de ton client, tu dois
passer un code vba. Ce code va charger ta requete nom, affecter le
paramétre voulu, ouvrir ton état, et enfin femer ton formulaire.
Pour activer le mode vba, tu dois selectionner en mode design ton
button, dans les propriétés du controle choisir, dans l'onglet
événement, l'evenement "sur clic" et choisir [Procédure
événementielle]

ja
qui espére avoir été plus limpide, mais bon c'est lundi ...

je ne vois pas bien comment mettre ce que tu expliques en pratique donc
je ré explique pcq je ne suis peut-être pas clair, donc j'ai un état
qui existe basé sur une requête nom, je tappe le nom et l'etat
s'ouvre.
J'ai un formulaire pour faire mes introductions, et je suis sur la
fiche client lucien par exemple, j'ai crée un bouton sur mon
formulaire quand je clique sur ce bouton le formulaire
se ferme et un état s'ouvre mais je dois à nouveau introduire le nom
lucien,j'aimerai ne plus devoir introduire lucien puisque je viens de
quitter sa fiche que je viens de remplir via le formulaire, donc il
faudrait du code qui copie le nom lucien qui est sur le formulaire et
le place dans la boite de dialogue qui ouvre mon état.
Voilà en tous cas merci pour votre réponse aussi rapide.