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

IHM Discussion :

liste deroulante avec plusieurs colonnes [AC-2003]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2011
    Messages : 32
    Points : 22
    Points
    22
    Par défaut liste deroulante avec plusieurs colonnes
    Bonjour,

    J'ai fait une liste déroulante avec 3 colonnes issues d'une même table.
    1er colonne "index", 2emme colonne "nom", 3eme colonne "date"


    Je voudrai faire afficher juste le nom et la date, mais je souhaiterai récupérer l'index pour ensuite récupérer toutes les données de cet enregistrement.
    avec la propriété colonne liée à 1 (sur le champs index) je récupère la valeur avec la métode "Value", mais alors je n'ai que l'index qui s'affiche lorsque je fais une sélection???

    Je pense que ce n'est pas la bonne méthode!!!!!

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 491
    Points : 16 399
    Points
    16 399
    Par défaut
    Bonjour

    La présence de plusieurs colonne dans la liste permet de sélectionner plus facilement la bonne valeur mais dans un formulaire le champ associé ne renvoie que sa valeur obtenu grâce à la colonne liée.
    Soit tu ajoutes un champ pour afficher (en tant que champ indépendant les 2 autres infos) soit c'est ta liste déroulante qui est un champ indépendant et tu valorise le vrai champ (qui eut être non visible) par un code vba déclenché sur l'événement de changement de la liste.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2011
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Alors voila ce que j'ai fait, mais cela me pose des questions...

    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
    26
    27
    Dim oDb As DAO.Database
    Dim oRst As DAO.Recordset
    Dim intIndex As Integer
    'je récupère l'index de l'enregistrement sélectionné dans ma liste déroulante
    intIndex = CInt(Modifiable38.Value)
    'j'ouvre une base et un objet recordset
    Set oDb = CurrentDb
    Set oRst = oDb.OpenRecordset("Stage", dbOpenDynaset)
        oRst.MoveLast
        oRst.MoveFirst
     
     'je me déplace jusqu'a l'enregistrement
     oRst.AbsolutePosition = intIndex - 1
     
        'test de la structure
        champ1 = oRst.Fields(0)
        champ2 = oRst.Fields(1)
        champ3 = oRst.Fields(2)
        champ4 = oRst.Fields(3)
     
    'j'affiche mes données
       Texte40.Value = champ2
       Texte44.Value = champ3
     
     'fermeture de ma base et du recordset
       oRst.Close
       oDb.Close
    Donc je récupère mon index et je me déplace jusqu'a cet enregistrement..mais si je supprime un enregistrement le N°index (qui est incrémenter automatiquement) n'éxistera plus et donc mon 4eme(par exemple) enregistrement n'aura plus l'index N°4.....Est-ce que j'ai utilisé la bonne méthode????
    sinon comment je gére mes déplacements jusqu'au bon enregistrement?(en faisant un test sur la valeur du champ? ce n'est pas un peu lent???)

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 491
    Points : 16 399
    Points
    16 399
    Par défaut
    Bonjour

    Une solution sans vba

    si ta liste s'appelle choix (donne des noms autre que modifiable23) tape la formule suivante dans ton champ indépendant : Sinon en VBA travailler par une requête avec un where ID= la valeur sélectionnée dans la liste

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2011
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    bonjour 78Chris,

    c'est super cela fonctionne... c'est exactement ce que je n'avais pas compris

    Il me reste un questionnement sur la navigation dans ma table.
    je veux utiliser ma clé primaire, quelle est la meilleur fonctin pour le faire?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Bonjour,

    J'ai eu du mal à essayer de comprendre ce que tu veux faire. Mais si j'ai bien compris, voilà ce que je ferais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub MaListe_AfterUpdate()
    Dim rst As Recordset
     
    Set rst = CurrentDb.OpenRecordset("SELECT * FROM MaTable")
    rst.FindFirst "monChampClePrimaire=" & Me.MaListe.Value
    MsgBox rst("monChamp")
     
    Set rst = Nothing
    End Sub

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Points : 97
    Points
    97
    Par défaut
    Hello Alain136,

    J'ai le même problème avec ma liste déroulante. Le code tu l'as placé à quel endroit.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2011
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par kitty2006 Voir le message
    Hello Alain136,

    J'ai le même problème avec ma liste déroulante. Le code tu l'as placé à quel endroit.
    comme j'avais 2 pb je ne suis pas sur de savoir de quoi tu parles.
    mais situ veux utiliser facilement les liste multiples pour afficher des données.

    sur mon formuliare j'ai créer une liste avec les 3 colonnes.
    sur le même forulaire j'ai placé 2 zones de texte(par exemple)
    et directement dans la zone de texte(en mode création) le code
    losrque tu changes ton choix dans la liste directement la zone de texte est mise à jour.
    voila.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    cool merci, ça fonctionne correctement.

    Bonne journée

  10. #10
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2011
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    je suis trop content c'est la première fois depuis que je suis sur le forum que je peux aider qq un et pas seulement profiter des supers bons conseils des experts...

    j'ai au moins appris quelque chose grace au forum, merci, merci merci

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

Discussions similaires

  1. Liste deroulante avec plusieurs tables
    Par meehan dans le forum VBA Access
    Réponses: 15
    Dernier message: 02/07/2014, 14h31
  2. [AC-2003] Zone de liste déroulante avec plusieurs colonnes
    Par moilou2 dans le forum IHM
    Réponses: 4
    Dernier message: 05/08/2009, 14h41
  3. liste deroulante html plusieurs colonnes
    Par bb62 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/07/2007, 16h28
  4. liste deroulante avec plusieurs colonnes?
    Par zorba49 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/06/2006, 12h08
  5. liste deroulante avec plusieurs champs
    Par JulienT dans le forum Struts 1
    Réponses: 4
    Dernier message: 20/04/2004, 17h17

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