IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

[Access] Requête : données menu déroulant


Sujet :

Requêtes et SQL.

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut [Access] Requête : données menu déroulant
    Bonjour,
    J'ai créé une requête "Anomalie" à partir de la table "PILOT".
    Dans ma requête, j'ai ajouter sur la ligne critère du champ "Nature" : [Quel nature voulez vous ?]
    Ma requête fonctionne à merveille.
    Maintenant, je souhaite toujours posez la question : Quel nature voulez vous ?, je souhaiterai que l'utilisateur ait le choix entre A; B; C à l'aide d'une liste déroulante.

    Je ne sais pas comment procéder !!!
    Pouvez vous m'aider

  2. #2
    Expert confirmé
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Par défaut
    Salut,

    Cela n'est pas possible directement par exécution de la requête, il te faut passer par un Formulaire.

    Dolphy

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    Bonjour,
    ok c'est compris, c'est exactement ce que je pensé.
    J'ai donc créé un formulaire avec un menu déroulant (nom : Nom_atelier) avec les différentes valeurs que je souhaite.
    Ensuite pour executer ma requête, j'ai créé un bouton.
    Le seul problème est : que dois je mettre dans ma requête pour lui indiquer que le critère du champ "Atelier" est la valeur du menu déroulant "Nom_atelier".

  4. #4
    Membre confirmé Avatar de Maxi-môme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 144
    Par défaut
    Salut,

    Ta requete doit ressembler a ça:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Champ1, Champ2 
    FROM TaTable
    WHERE Atelier=Forms!NomDeTonFormulaire!Nom_atelier.value ;

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    je dois mettre cela sur le bouton de commande ???

  6. #6
    Membre confirmé Avatar de Maxi-môme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 144
    Par défaut
    Oui tu vas sur l'evenement "sur clic" de ton bouton et dans l'editeur vba tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.runsql("[ta requete]")

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    Peux tu me dire ou je met
    "SELECT Nature_Ent, Atelier, Temps_pass, Date
    FROM PILOT
    WHERE Atelier=Forms!F_Recup_Nom_atelier!Nom_atelier.value"
    car j'ai mis ce code et cela ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Commande7_Click()
    DoCmd.RunSQL ("[ACTIVITE_ATELIER]")
    SELECT Nature_ENT, Atelier, Temps_pass, Date 
    FROM PILOT
    WHERE Atelier = Forms!NomDeTonFormulaire!Nom_Atelier.Value
    End Sub
    Je comprend qu'il n'est pas au bon endroit !!!

  8. #8
    Expert confirmé
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Par défaut
    Salut,

    le SQL correspond à ta requête, là où tu avais mis [Quel nature voulez vous ?] et bien tu mets Formulaires![F_Recup_Nom_atelier]![Nom_atelier]

    à l'ouverture de ta requête, celle-ci ira directement prendre la valeur de ta liste, par contre ton formulaire doit rester ouvert, sinon tu sera obligé de redéfinir la source SQL de la requête avec le même paramètre avant fermeture du Form

    ensuite sur l'événement sur_click du bouton tu appel ta requête

    Dolphy

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    Ok j'ai fait ce que tu me dis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Commande7_Click()
    DoCmd.RunSQL ("ACTIVITE_ATELIER")
    End Sub
    J'ai une erreur : instruction SQL non valide,

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Peux-tu nous montrer la tête de ta requête "ACTIVITE_ATELIER".

    Starec

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    OK donc voici l'image en mode création de la requête

    je met égelement les codes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Public Function Nom_atelier(CMETIER)
      Select Case CMETIER
        Case "E0"
           Nom_atelier = "EMQ"
        Case "A0"
           Nom_atelier = "INFOR"
        Case "B0"
           Nom_atelier = "GTM"
        Case "X0"
           Nom_atelier = "NTR"
        Case "30"
           Nom_atelier = "GMA"
        Case "40"
           Nom_atelier = "FUNF"
        Case "50"
           Nom_atelier = "FM"
        Case "60"
           Nom_atelier = "FUS"
        Case "70"
           Nom_atelier = "FUNS"
        Case Else
           Nom_atelier = Null
       End Select
    End Function

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    Voici ma requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT PILOT.NOM_ET_PRE, PILOT.NATURE_ENT, PILOT.REPERE_APP, Nom_Atelier([CORPS_DE_M]) AS Nature
    FROM PILOT
    WHERE (((Nom_Atelier([CORPS_DE_M]))=[Formulaires]![F_Recup_Nom_atelier]![Nom_atelier]));

  13. #13
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Tu ne peux lancer une requête SELECT avec DoCmd.RunSQL, cela est réservé aux requêtes actions (DELETE, UPDATE)

    Une requête SELECT sert à visualiser des données dans un contenant (Formulaire, Liste, etc..)

    Starec

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    Ok compris, donc je réexplique ce que je veux faire :
    Voici ma requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT PILOT.NOM_ET_PRE, PILOT.NATURE_ENT, PILOT.REPERE_APP, Nom_Atelier([CORPS_DE_M]) AS Nature
    FROM PILOT
    WHERE (((Nom_Atelier([CORPS_DE_M]))=[Quel nature voulez vous ?]));
    A la place de répondre à la question : Quel nature voulez-vous ?
    Je souhaite y associer la valeur de mon champ du menu déroulant intitulé Nom_Nature.
    Ce menu déroulant se trouve dans le formulaire F_Recup_Nom_Nature.
    Je souhaite executer cette requête avec un bouton.

  15. #15
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    tu aurais tout intérêt à passer par une table de transcodage, plutot qu'une fonction qui teste autant de valeurs.

    Citation Envoyé par mulanzia2003
    OK donc voici l'image en mode création de la requête

    je met égelement les codes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Public Function Nom_atelier(CMETIER)
      Select Case CMETIER
        Case "E0"
           Nom_atelier = "EMQ"
        Case "A0"
           Nom_atelier = "INFOR"
        Case "B0"
           Nom_atelier = "GTM"
        Case "X0"
           Nom_atelier = "NTR"
        Case "30"
           Nom_atelier = "GMA"
        Case "40"
           Nom_atelier = "FUNF"
        Case "50"
           Nom_atelier = "FM"
        Case "60"
           Nom_atelier = "FUS"
        Case "70"
           Nom_atelier = "FUNS"
        Case Else
           Nom_atelier = Null
       End Select
    End Function

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    Oui caféine mais encore, je fais quoi !!!
    c koi "table de transcodage" et comment on la fait cette table.

    et pour mon problème , tu n'as pas une ptite idée

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    bon ben je pensais avoir des pistes ce matin sur mon problème (snif !!!)
    je continue mes recherches

    vous me dites si vous avez des pistes (Menu déroulant pour requête)

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    Bon, mon pbm est résolu merci à arkham et à tous ceux qui ont répondu à mon post

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Menu déroulant avec données sql
    Par matt38 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 08/08/2012, 23h40
  2. [AC-2007] Requète et Menu déroulant
    Par Alexswan dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 17/09/2009, 17h50
  3. [MySQL] Restriction d'une requête par menu déroulant
    Par masterix59 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 31/01/2009, 18h11
  4. [MySQL] Requête Mysql - menu déroulant
    Par tvertain dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/11/2008, 14h25
  5. Requête : données menu déroulant
    Par CaPiT dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 07/01/2008, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo