Bonton Access avec requête SQL

Résolu
fabio13220 -  
fabio13220 Messages postés 1 Statut Membre -
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

  1. blux Messages postés 2048 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    msgbox maliste.value...
    0
  2. fabio13220
     
    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
    1. blux Messages postés 2048 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      La valeur est donnée par maliste.value.
      A toi ensuite d'en faire ce que tu veux...
      0
  3. fabio13220
     
    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
    1. blux Messages postés 2048 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      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
  4. fabio13220
     
    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
    1. blux Messages postés 2048 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fabio13220
     
    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
    1. blux Messages postés 2048 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      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
    2. fabio13220 Messages postés 1 Statut Membre
       
      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