Bonton Access avec requête SQL

Résolu/Fermé
fabio13220 - 21 févr. 2012 à 10:21
fabio13220 Messages postés 1 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 23 février 2012 - 23 févr. 2012 à 11:16
Bonjour,

Je suis débutant sous Access et n'arrive pas à récupérer la valeur d'une requête SQL.

J'ai une liste déroulante ou je dois sélectionner mon étude:
SELECT étude.[nom_étude]
FROM étude;
J'ai besoin de récupérer la valeur du nom_étude de ma liste déroulante pour réaliser un tri dans une seconde table "test" quand j'appuis sur mon bouton Afficher Etat.
SELECT test.code_test, test.étude, test.[5M], test.DANGERS, test.RISQUES, test.[gravité(G)], test.[fréquences(F)], test.[détectibilité(D)], test.indice, test.[mesures préventives], test.D, test.F, test.G, test.[indice corrigé], test.remarques, étude.[nom_étude ]
FROM test, etude
WHERE test.étude = étude.[nom_étude];
Je ne sais pas comment récupérer la valeur de la liste déroulante, et comment l'injecter dans le bouton pour afficher l'étude concerné.

En résumé:
Comment récupérer la valeur d'une liste déroulante dans Access?

Comment créer un bouton qui récupère la valeur de la liste déroulante pour afficher un Etat avec seulement la valeur selectionner (etude) dans la liste déroulante?

Pouvez-vous m'aider merci d'avance.

5 réponses

blux Messages postés 26534 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
21 févr. 2012 à 14:44
Salut,

msgbox maliste.value...
0
Cela m'affiche mon choix dans la liste, mais moi je veux récupèrer la valeur pour pouvoir l'injecter dans l'affichage de mon état (Bouton).

Et ensuite j'ai besoin que mon bouton fasse le tri de ma table afin d'afficher mon état trier.

Tout est Ok sauf les 2 demandes que je fais la.

Merci pour votre aide
0
blux Messages postés 26534 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
21 févr. 2012 à 19:09
La valeur est donnée par maliste.value.
A toi ensuite d'en faire ce que tu veux...
0
Bonjour,
Déja merci pour tes réponses.

--------Nom de ma liste déroulante-------------
Private Sub Modifiable0_Click()

-----Requête avec laquelle je dois récuperer la valeur de la liste deroulante-----
Dim RS As DAO.Recordset
Dim Req As String
Set DB = CurrentDb

Req = "SELECT test.code_test, test.étude, test.[5M], test.DANGERS, test.RISQUES, test.[gravité(G)], test.[fréquences(F)], test.[détectibilité(D)], test.indice, test.[mesures préventives], test.D, test.F, test.G, test.[indice corrigé], test.remarques FROM test WHERE test.étude = '" & Modifiable0.Value & "';"

--------La requête est bonne vérifié par--------
MsgBox Req

-----Est ce que la j'execute bien ma requete?------
Set Rst = DB.OpenRecordset(Req, dbOpenDynaset)

End Sub

Je récupère bien la valeur de la liste déroulante, maintenant j'aimerais afficher le resultat de ma requête mais je suis perdu.

Quand j'utilise DoCmd.RunSQL Req
Erreur d'éxécution 2342 - Une action executerSQL nécéssite un argument consistant en une instruction SQL.

Donc j'utilise:
Dim RS as DAO.RecordSet
Req = "XXX"
Set RS = CurrentDb.OpenRecordSet(Req)
Rien ne se passe il ne m'affiche pas ma table.

Pouvez-vous m'aider à exécuter la requete Merci par avance
0
blux Messages postés 26534 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
22 févr. 2012 à 15:20
C'est normal, runsql attend une requête de type 'action' (qui modifie la base, comme update, insert, delete...) et pas une requête 'sélection' qui n'affiche que des données...

La question est : où veux-tu afficher le résultat de la requête ?
0
Deja merci pour tes réponses rapides.

En fait je veux afficher un état que j'ai déjà créé où toutes les valeurs de ma table test sont présentes.

Seulement moi je veux afficher cet état avec seulement la valeur de l'étude selectionner dans ma liste déroulante.

J'avoue je commence à peine Access et le VBA et je capte pas tout
0
blux Messages postés 26534 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
22 févr. 2012 à 16:58
Donc, c'est ouvrir un état avec une requête paramétrée.
Il suffit dans ce cas modifier l'état avant ouverture pour lui mettre ta requête en recordsource...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

Donc en clair je doit entrer ma requête avec la condition WHERE dans mon état et récupérer la valeur saisi dans ma liste déroulante.

Mais la valeur de ma liste déroulante n'est pas un valeur privé de ma liste?
0
blux Messages postés 26534 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 19 décembre 2024 3 317
23 févr. 2012 à 09:44
Non, tu peux faire autrement :

- générer le texte sql de ta requête, comme tu le fais déjà, dans la variable Req
- modifier la propriété recordsource de ton état, pour lui mettre Req
- ouvrir ton état
0
fabio13220 Messages postés 1 Date d'inscription vendredi 17 février 2012 Statut Membre Dernière intervention 23 février 2012
Modifié par fabio13220 le 23/02/2012 à 11:16
Blux au top ca marche l'impression de l'etat apres son ouverture nickel un grand merci a toi tu m'a sauvé la vie.
0