Bonton Access avec requête SQL

Résolu/Fermé
Signaler
-
Messages postés
1
Date d'inscription
vendredi 17 février 2012
Statut
Membre
Dernière intervention
23 février 2012
-
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

Messages postés
23859
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
22 janvier 2022
3 162
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
Messages postés
23859
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
22 janvier 2022
3 162
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
Messages postés
23859
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
22 janvier 2022
3 162
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
Messages postés
23859
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
22 janvier 2022
3 162
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
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
Messages postés
23859
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
22 janvier 2022
3 162
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
Messages postés
1
Date d'inscription
vendredi 17 février 2012
Statut
Membre
Dernière intervention
23 février 2012

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