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

Access Discussion :

Liste déroulante et Zone de liste


Sujet :

Access

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 103
    Par défaut Liste déroulante et Zone de liste
    Bonjour
    Je travaille sous Access 2003
    Voila j'ai une liste déroulante nommé Nom_liste qui contient :
    • id_user
    • Nom
    • Prenom
    J'aimerais simplement savoir comment récuperer l'id user de l'utilisateur selectionné dans la liste déroulante pour après l'insérer dans une requete SQL contenu dans une zone de liste.

    Ce que j'ai pour le moment est cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <ol class="decimal"><li style="">... WHERE T_UTILISATEUR.id_user=Nom_liste.column(1); 
    ou</li><li style="">... Where T_UTILISATEUR.id_user = Forms!F_Consult.Nom_liste</li></ol>
    Mais ça ne marche pas

    Voila merci d'avance à tous

  2. #2
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Salut,
    Les indices commencent à 0 et pas à 1.

  3. #3
    Membre éprouvé Avatar de RGShoop
    Homme Profil pro
    Freelance
    Inscrit en
    Août 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 112
    Par défaut
    Bonjour,

    essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...  WHERE T_UTILISATEUR.id_user=" & Nom_liste.column(0) & ";"
    la numérotation des champs présents dans une liste dans access commence par 0.

    id_user = Nom_liste.column(0)
    Nom = Nom_liste.column(1)
    Prenom= Nom_liste.column(2)

    A+ RGShoop

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 103
    Par défaut
    Oui j'ai vu entre temps mais le problème c'est que j'ai le message d'erreur suivant :
    "Fonction Nom_Liste.column Non défini dans l'expression"

    Et je ne sais pas comment faire

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 103
    Par défaut
    j'ai essayé ta methode RGShoop seulement j'ai un problème de compatibilité des données (bizare parce qu'elles proviennent de la meme table).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT T_UTILISATEUR.Nom FROM T_UTILISATEUR WHERE T_UTILISATEUR.id_user=" & Nom_liste.column(0) & "; 
    // il faut enlever le " après la virgule sinon cela donne une erreur sql
    Sinon avec d'autre champs (comme nom) en reference je n'ai pas d'erreur mais cela ne marche pas tout cour :-s
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT T_UTILISATEUR.id_user FROM T_UTILISATEUR WHERE T_UTILISATEUR.Nom=" & Nom_liste.column(1) & ";
    bizare

  6. #6
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T_UTILISATEUR.Nom 
    FROM T_UTILISATEUR 
    WHERE T_UTILISATEUR.id_user=" & Me.Nom_liste.column(0) & ";

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 103
    Par défaut
    rien ne s'affiche dans la zone de liste meme avec ME
    J'ai un code pour rafraichir qui est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Nom_liste_Change()
    Me.id.Requery
    End Sub
    Je ne sais pas si cela est nescessaire mais bon.
    Je ne voi pas comment faire la syntaxe me parait bonne

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 103
    Par défaut
    rien ne s'affiche dans la zone de liste meme avec ME
    J'ai un code pour rafraichir qui est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Nom_liste_Change()
    Me.id.Requery
    End Sub
    Je ne sais pas si cela est nescessaire mais bon.
    Je ne voi pas comment faire la syntaxe me parait bonne

  9. #9
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    On va reprendre un peu en arrière si tu veux bien...
    Voila j'ai une liste déroulante nommé Nom_liste qui contient :
    • id_user
    • Nom
    • Prenom
    J'aimerais simplement savoir comment récuperer l'id user de l'utilisateur selectionné dans la liste déroulante pour après l'insérer dans une requete SQL contenu dans une zone de liste.
    Tu as donc 2 liste ??
    Si oui : "Après mise à jour" de la 1ère tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Me.NomListe2.RowSource = "SELECT T_UTILISATEUR.Nom " & _
    "FROM T_UTILISATEUR " & _
    "WHERE T_UTILISATEUR.id_user=" & Me.Nom_liste.column(0) &";"

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 103
    Par défaut
    Tout d'abord merci à tous pour vos réponses !
    Afin de mieu se comprendre et de trouver au plus vite la solution j'ai fait une petite simulation du problème ( je ne peu pas vous donnée la bdd du travaille )
    Certain veront ça d'un mauvais oeil pensant que je souhaite qu'on me fasse le travaille, pas du tout cela fait plusieurs heure que j'essai c'est simplement pour mieu se comprendre.
    Fichiers attachés Fichiers attachés

  11. #11
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Je n'ai qu'access 97.. peut pas ouvrir...

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 103
    Par défaut
    Je n'ai qu'access 97.. peut pas ouvrir...
    arf

  13. #13
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Citation Envoyé par climz
    arf
    Et oui...
    As tu essayé ma dernière proposition ??

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 103
    Par défaut
    Me.NomListe2.RowSource = "SELECT T_UTILISATEUR.Nom " & _
    "FROM T_UTILISATEUR " & _
    "WHERE T_UTILISATEUR.id_user=" & Me.Nom_liste.column(0) &";"
    Je ne sais pas où mettre ça ?
    la liste qui doit affiché le "résultat" est une liste de zone et non une liste déroulante

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 103
    Par défaut
    help

  16. #16
    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,

    J'ai jetté un coup d'oeil à ta base,

    Verdict : Tu t'es emmellé les pinceaux. Tu as melangé le code VBA et le SQL du générateur de requêtes

    Explications :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div style="text-align: left;">SELECT T_UTILISATEUR.Nom 
    FROM T_UTILISATEUR 
    WHERE T_UTILISATEUR.id_user=" & Me.Nom_liste.column(0) & ";</div>
    Ce code est à intégrer dans le code VBA et non dans le générateur de requêtes.

    Tu as deux solutions :
    1-Suivre les indications de Kikof C'est modifier la source de ta zone de liste Consult_Liste après la mise à jour de ta liste déroulante Nom_Liste(événements AfterUpdate())
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Nom_Liste_AfterUpdate()
        SQL = "SELECT T_UTILISATEUR.Age FROM T_UTILISATEUR " & _
            "WHERE T_UTILISATEUR.id_user=" & Me.Nom_Liste.Column(0) & ";"
        Me.Consult_liste.RowSource = SQL
     
    End Sub
    2-tu modifie simplement le SQL (dans le générateur de requêtes) de ta zone de liste Consult_Liste en modifiant le critère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T_UTILISATEUR.Age
    FROM T_UTILISATEUR
    WHERE (((T_UTILISATEUR.id_user)=[Formulaires]![F_Consult]![Nom_Liste]));
    Vu que tu as mis la première colonne comme liées tu récupère par défaut comme valeur l'ID, dans le SQL tu met comme paramètre la valeur de ta zone déroulante.
    Pour mettre à jour dans la zone de liste ne pas oublier de mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Nom_Liste_AfterUpdate()
     
        Me.Consult_liste.Requery
     
    End Sub

  17. #17
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    @ Dolphy : Merci d'être passé par là pour voir la base

Discussions similaires

  1. Réponses: 13
    Dernier message: 11/07/2013, 09h04
  2. [AC-2007] Zone de liste dépendant d'une requête+liste déroulante
    Par Dutchou dans le forum VBA Access
    Réponses: 4
    Dernier message: 26/05/2011, 21h17
  3. lien entre liste déroulante et zone de liste
    Par jeje22 dans le forum IHM
    Réponses: 3
    Dernier message: 19/03/2009, 15h43
  4. liste déroulante dans zone de liste
    Par vavou dans le forum IHM
    Réponses: 3
    Dernier message: 23/09/2008, 13h37
  5. Zone de liste déroulante et zone de texte
    Par lapaz dans le forum IHM
    Réponses: 3
    Dernier message: 21/02/2007, 12h49

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