Formulaire de dialogue

Résolu/Fermé
GASTON22 Messages postés 204 Date d'inscription mercredi 27 mars 2013 Statut Membre Dernière intervention 23 décembre 2019 - 25 avril 2014 à 14:24
GASTON22 Messages postés 204 Date d'inscription mercredi 27 mars 2013 Statut Membre Dernière intervention 23 décembre 2019 - 6 mai 2014 à 10:33
Bonjour tous le monde,

j'aimerai faire un formulaire de dialogue (je sais pas si c'est le nom exact) qui contient des bandes déroulantes je fait mon chois puis je clic sur recherche et sa me fait une recherche sur les critère que je veux.

merci de m'aider je compte sur vous



A voir également:

3 réponses

benol3 Messages postés 569 Date d'inscription lundi 29 juillet 2013 Statut Membre Dernière intervention 7 mai 2015 87
Modifié par benol3 le 25/04/2014 à 15:42
Re,

dans le code lorsqu'on clique sur ton bouton ( sub nombouton_click())
Mets ce code :


Dim qdf As DAO.QueryDef
Dim rs As Recordset

Set qdf = CurrentDb.QueryDefs("nomdetarequete")
qdf.Parameters("nomduparametre") = valeuràutiliser '(matxtbox.value, maliste.value....)
'.... a répeter pour tous tes paramètres

Set rs = qdf.OpenRecordset 'execution et ouverture de ta requete

rs.close:set rs=nothing 'fermeture de la requete


Ensuite, tu veux faire quoi avec les résultats de ta requête ?
1
GASTON22 Messages postés 204 Date d'inscription mercredi 27 mars 2013 Statut Membre Dernière intervention 23 décembre 2019 1
25 avril 2014 à 15:46
les afficher dans une etat en mode affichage avant impression pour que l'utilisateur puisse voir son resultat avant qu'il imprime..
0
benol3 Messages postés 569 Date d'inscription lundi 29 juillet 2013 Statut Membre Dernière intervention 7 mai 2015 87
25 avril 2014 à 16:09
D'accord, créer ton état avec ta requete comme source de données.

Puis enleve les 2 dernières lignes du code précédant et remplace les par :

D'accord, créer ton état avec ta requete comme source de données.

Puis enleve les 2 dernières lignes du code précédant et remplace les par :

 
DoCmd.OpenReport "Ton état", acviewreport, "", qdf


Ps : j'ai jamais fait sa encore :) Donc cela peux qu'il y ai des erreurs...

Tiens moi au courant des problèmes rencontrés
0
GASTON22 Messages postés 204 Date d'inscription mercredi 27 mars 2013 Statut Membre Dernière intervention 23 décembre 2019 1
25 avril 2014 à 16:26
j'ai mis ce bout de code mais sa marche pas et j'en est aucune idée pk :/
il faut que je comprend le code déja :(

Option Compare Database

Dim qdf As DAO.QueryDef
Dim rs As Recordset

Set qdf = CurrentDb.QueryDefs("Report A In C")
qdf.Parameters("Part class") = E_COD_ABC_CLASS '(matxtbox.value, maliste.value....)
'.... a répeter pour tous tes paramètres

DoCmd.OpenReport "Report A In C", acViewReport, "", qdf
0
benol3 Messages postés 569 Date d'inscription lundi 29 juillet 2013 Statut Membre Dernière intervention 7 mai 2015 87
Modifié par benol3 le 25/04/2014 à 16:52
Il ne faut pas oublier de donner un nom au programme et de preciser sa fin (sub et end sub)

Qdf est un objet permettant d'utiliser une requete déjà définie dans ACCESS
on peut enlever "Dim rs As Recordset" car on ne l'utilise pas.

E_COD_ABC_CLASS est le nom d'un de tes champs de ton formulaire ? Qu'est ce que c'est ? une textebox, une liste ..?

Es ce que déjà tu as testé ta requete pour voir si elle fonctionne ?

Option Compare Database 

 sub btn_click() 

Dim qdf As DAO.QueryDef 

Set qdf = CurrentDb.QueryDefs("Report A In C")  
qdf.Parameters("Part class") = E_COD_ABC_CLASS '(matxtbox.value, maliste.value....) 
'.... a répeter pour tous tes paramètres 

DoCmd.OpenReport "Report A In C", acViewReport, "", qdf

end sub 
0
GASTON22 Messages postés 204 Date d'inscription mercredi 27 mars 2013 Statut Membre Dernière intervention 23 décembre 2019 1
6 mai 2014 à 10:33
dsl pour la reponse un peu retardé benol3...

c'est bon j'ai trouvé :D sa marche maintenant mais j'ai pas utilisé le VBA j'ai fait comme la dis tessel visual direct c'est plus simple (bon sa rame un peu mais j'ai pas le choix maintenant je l'améliorai une autre fois quand j'ai le temps )

encore merci pour ton aide :)
0
Bonjour,
"je fait mon choix puis je clique sur recherche et ça me fait une recherche sur les critères que je veux. "
Deux solutions: soit par la requête sous-jacente au formulaire (ou à l'état) que tu veux ouvrir, soit directement à l'ouverture du formulaire (ou de l'état)
- 1) par la requête : Mettre comme critère de sélection dans la requête (soit en visuel soit en VBA) "=Formulaires!FormulaireABC!ContrôleDEF" (ou < ou > ou like "...*", ce que tu veux), avec tous les critères que tu veux.
- 2) directement à l'ouverture, avec la macro ou le code VBA "docmd.OpenForm "NomDuFormulaire","...","..." etc " (ou "DoCmd.OpenReport """) Bien suivre toutes les indications de l'assistant et les variables requises, jusqu'à celles demandant les critères "ChampA=Formulaires!FormulaireABC!ContrôleDEF and ChampB=Formulaires!FormulaireABC!ContrôleGHI and etc", et continuer les autres variables requises.
C'est très facile, et l'assistant est très bien fait, il apparait quand on commence à écrire la 1ère expression DoCmd.OpenForm"..." ou DoCmd.OpenReport "..."
Mais attention, la recherche dans ce 2ème cas, se fait par les champs sous-jacents aux contrôles et non pas par les contrôles, il faut donc nommés les champs de la table ou de le requête sous-jacente au formulaire à ouvrir.
Bon courage.
1
GASTON22 Messages postés 204 Date d'inscription mercredi 27 mars 2013 Statut Membre Dernière intervention 23 décembre 2019 1
28 avril 2014 à 16:07
Merci bcp tessel sa fonctionne bien et merci bien benol aussi

mais j'ai utilisé des textbox au final parce que les bandes déroulantes sont trop lentes a chargé (je sais pas pk )

j'ai utilisé ta 1er proposition tessel puisque je me perd en VBA

merci a tous
0
benol3 Messages postés 569 Date d'inscription lundi 29 juillet 2013 Statut Membre Dernière intervention 7 mai 2015 87
25 avril 2014 à 14:34
Salut,

Reste plus qu'à faire ...

Créer un formulaire avec les champs que tu veux mettre en critère (textbox, liste déroulante, case a cocher ...) et ensuite créer un bouton qui récupéra les données via une requête SQL du type :" SELECT nomdeschamps... FROM tables WHERE champs1=moncritere...."
0
GASTON22 Messages postés 204 Date d'inscription mercredi 27 mars 2013 Statut Membre Dernière intervention 23 décembre 2019 1
25 avril 2014 à 15:13
MA REQUETE EST DEJA PRETE ET LE FORMULAIRE AUSSI ET JAI MIS LE BOUTON EXECUTER MAIS MON PROBLEME j'arrive pas a faire la liaison entre les critères de mon formulaire et la requete.

tu peut m'expliquer plus stp ? et si c'est possible des imprime ecran STP sa m'aiderai bcp

MERCII D'AVANCE :)
0
benol3 Messages postés 569 Date d'inscription lundi 29 juillet 2013 Statut Membre Dernière intervention 7 mai 2015 87
Modifié par benol3 le 25/04/2014 à 15:22
OK :) tu sais utiliser vba ?
0
GASTON22 Messages postés 204 Date d'inscription mercredi 27 mars 2013 Statut Membre Dernière intervention 23 décembre 2019 1
25 avril 2014 à 15:25
malheureusement non j'ai fait copié des pti bout de code sur internet pour des trucs simple pas plus :/
0