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 :

Zone de liste à choix multiple [AC-2010]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2015
    Messages : 32
    Points : 18
    Points
    18
    Par défaut Zone de liste à choix multiple
    Bonjour,

    J'ai créé un formulaire sur Access contenant une zone de liste à sélection multiple "sélection étendue". Cette zone de liste contient 3 lignes (A,B,C). Je souhaite que lorsque je fais une sélection (multiple ou non), les valeurs sélectionnées soient récupérées dans ma table.


    J'ai essayer d'utiliser ce code mais il ne marche pas !

    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
    Private Sub btnListe_Click()
        Dim varI As Variant
        Dim strFiltre As String
     
        strFiltre = ""
        If Me.lstClients.ItemsSelected.Count = 0 Then
        MsgBox "Aucun client n'a été sélectionné"
      Else
        For Each varI In Me!lstClients.ItemsSelected
          If strFiltre <> "" Then strFiltre = strFiltre & " OR "
            strFiltre = strFiltre & "[ID_client]='" & _
            Me!lstClients.ItemData(varI) & "'"
          Next varI
          DoCmd.SetFilter "strFiltre"
     
     
      End If
     
    End Sub
    Pouvez-vous m'aider ?

  2. #2
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Bonjour,

    Qu'est ce qui ne marche pas,

    La récupération de tes valeurs ou simplement l'application de ton filtre ??

    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.SetFilter strFiltre
    Car tu passais en paramètre non pas la chaîne contenu dans ta variable "strFiltre", mais la chaîne de caractères "strFiltre" qui n'est pas un critère de filtre
    @+


    Pensez au tag

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2015
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Merci pour votre réponse,

    en effet j'arrive pas à récupérer mes valeur avant d'avoir le message "entrer une valeur de paramètre lstClients,

    Même avec votre code j'ai encore ce message.

  4. #4
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    ce message n'a rien a voir avec le code ?
    Tu dit l'avoir avant même de cliquer sur ta liste.
    C'est bien cela ?
    Comment est construit ton formulaire?
    Peux tu faire une capture d'écran de ton formulaire en mode création que je puisse comprendre un peu mieux ce qui se passe ?
    @+


    Pensez au tag

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2015
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Voila les capture d'ecran, en effet j'essaye de faire le choix multiple par rapport au Année_besoin (" quand je sélectionne je voudrai filtrer les elements du tableau par rapport à ce paramétre)"

    Merci
    Images attachées Images attachées   

  6. #6
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    N'aurais tu pas laissé un critère dans ta requête source de ton formulaire faisant référence à "lstClients" ?
    Ou dans la propriété filtre ?
    @+


    Pensez au tag

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2015
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Euh non je crois pas !

  8. #8
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    peux tu envoyer une exemple de ta base que je puisse jeter un coup d’œil sur la construction du formulaire et voir réellement ou cela coince ?
    @+


    Pensez au tag

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2015
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    désolé pour le retard voila un exemple TEST.zip

  10. #10
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Merci

    Regarde ce que j'ai trouvé dans la source de ton formulaire
    Nom : Sans titre.png
Affichages : 138
Taille : 38,8 Ko

    Vide cette zone "Filtre" et tu n'auras plus de message .

    Ensuite dans ton code, pour ton critère sur l'année tu ne dois pas mettre de cote simple car ton champ est en numérique !
    Ensuite attention a la logique des critères composés !
    C'est un "OR" et pas un "AND" car ton année besoin ne peux pas être égale a la fois à 2015 et 2016 !
    En revanche tu veux sélectionner les ligne dont l'année est égale soit à 2015 ou à 2016

    Ensuite au lieu de
    Préfère le code suivant :
    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
     
    Dim varI As Variant
    Dim strFiltre As String
        strFiltre = ""
        If Me.lstClients.ItemsSelected.Count = 0 Then
            MsgBox "Aucun client n'a été sélectionné"
        Else
            For Each varI In Me!lstClients.ItemsSelected
                  If strFiltre <> "" Then strFiltre = strFiltre & " OR "
                    strFiltre = strFiltre & "Annee_besoin=" & _
                    Me!lstClients.ItemData(varI) ' & "'"
            Next varI
          Me.Filter = strFiltre
          Me.FilterOn = True
      End If
    Avec la propriété Filter de l'objet Me

    Ensuite pourquoi mettre ce code sur un bouton et pourquoi pas le mettre chaque fois que l'on sélectionne ou désélectionne une année ?
    Sur changement de la liste par exemple
    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
    Private Sub lstClients_AfterUpdate()
    Dim varI As Variant
    Dim strFiltre As String
        strFiltre = ""
        If Me.lstClients.ItemsSelected.Count = 0 Then
            MsgBox "Aucun client n'a été sélectionné"
        Else
            For Each varI In Me!lstClients.ItemsSelected
                  If strFiltre <> "" Then strFiltre = strFiltre & " OR "
                    strFiltre = strFiltre & "Annee_besoin=" & _
                    Me!lstClients.ItemData(varI) ' & "'"
            Next varI
          Me.Filter = strFiltre
          Me.FilterOn = True
      End If
    End Sub
    Et voila
    A toi de jouer maintenant
    @+


    Pensez au tag

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2015
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Ah Merci ca marche très bien , Maintenant quand je désélectionne les deux date je veux que les filtre s'enlève , j'arrive pas à le faire !

  12. #12
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Comment tu fais pour les désélectionner ?
    Si tu le fais avec un bouton, rajoute le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Me.filter=""
    me.filteron=false
    @+


    Pensez au tag

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2015
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Merci , du coup j'ai mis ce code à la place de MsgBox "Aucun client n'a été sélectionné"
    Est ca Marche ^^

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2015
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    J'ai ajouté une deuxième zone de liste, quand je filtre la premier ca prend pas bien en compte la deuxième et aussi quand j'enlève le filtre ca l'enlève au deux zone de liste, y'a t'il une solution ??

  15. #15
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Le mieux c'est de poster un nouveaux sujet
    Mais pour te guider un peu, l'idée c'est d'avoir une procédure du style "applique filtre" commune aux deux liste, qui va parcourir tes deux listes pour créer ton filtre.
    Sur changement de chacune des listes, tu appelle cette procédure qui recrée le filtre à chaque fois.
    Attention n'utilise la procédure qui annule ton filtre que si aucune des deux liste n'a d'élément sélectionnés!
    @+


    Pensez au tag

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2015
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Merci.
    J'ai poster un nouveau sujet déjà est ce que vous pouvez me donné un exemple dans le nouveaux sujet.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/07/2015, 18h18
  2. [AC-2013] Requête mise à jour et Zone de liste à choix multiples
    Par tgodefroid dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/07/2014, 10h15
  3. [AC-2002] Zone de liste à choix multiple
    Par faraudch dans le forum IHM
    Réponses: 4
    Dernier message: 21/01/2010, 11h47
  4. Zone de liste à choix multiple
    Par zoom61 dans le forum Access
    Réponses: 2
    Dernier message: 31/01/2006, 13h06
  5. [Débutant][JSP] récupération liste choix multiple
    Par Jovial dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/05/2004, 13h59

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