Discussion: ComboBox.Selected toujours faux [AC-2016]

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2017
    Messages : 5
    Points : 2
    Points
    2

    Par défaut ComboBox.Selected toujours faux

    Bonjour,

    Je souhaite récupérer les valeurs associées aux cases cochées dans une ComboBox à sélection multiple dans un formulaire.

    Pour cela j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        Dim ind As Integer
        Dim bl As Boolean
        ind = 0
        While ind < Forms!Rec!CONTACT.ListCount
        bl = Forms!Rec!CONTACT.Selected(ind)
        If bl Then
        txt1 = txt1 + "Contact : " & Forms!Rec!CONTACT.Column(4, ind) & " " & Forms!Rec!CONTACT.Column(2, ind) & vbCrLf & Forms!Rec!CONTACT.Column(3, ind) & vbCrLf & Forms!Rec!CONTACT.Column(6, ind)
        End If
        ind = ind + 1
        Wend
    Cependant la valeur du booléen est toujours à FAUX même si j'ai toutes les cases cochées.

    Auriez vous une piste pour m'aider ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    mai 2004
    Messages
    4 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : Finance

    Informations forums :
    Inscription : mai 2004
    Messages : 4 755
    Points : 11 108
    Points
    11 108
    Billets dans le blog
    5

    Par défaut

    Bonjour,

    1/ Depuis où est exécuté ce code pour tu aies à écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!Rec!CONTACT.ListCount
    plutôt que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Contact.ListCount -1 *
    * -1 est obligatoire car l'indice commence à zéro

    Si tu mets un point d'arrêt sur la première ligne de ta procédure et que dans la fenêtre de debogage, tu tapes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ?Forms!Rec!CONTACT.ListCount
    que te renvoie t-il ?

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2013 et 2016 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2017
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    Bonjour, merci de votre réponse.

    1. Simplement car lorsque j'utilise le mot clé Me j'ai une erreur de compilation "Utilisation incorrecte du mot clé Me".

    2. La valeur renvoyée est 3 (comme le nombre de lignes de la ComboBox)

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    mai 2004
    Messages
    4 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : Finance

    Informations forums :
    Inscription : mai 2004
    Messages : 4 755
    Points : 11 108
    Points
    11 108
    Billets dans le blog
    5

    Par défaut

    Bah c'est que le code se trouve l'extérieur.

    Mais en relisant ton poste, je viens de réaliser... La case coché n'est pas une "sélection" vue par Access...

    Est-ce une zone de liste ou une liste déroulante que tu utilises ?

    S'il y a des cases à cocher, c'est une zone de liste et avec une telle propriété, c'est ItemsSelected qu'il faut utiliser et non Selected.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2013 et 2016 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2017
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    J'utilise une liste déroulante.
    Le problème persiste en utilisant ItemsSelected : aucun élément n'est détecté comme sélectionné.

    Je ne serais pas dire si le code est à l'intérieur ou à l'extérieur, je ne suis pas un spécialiste d'Access ...

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    mai 2004
    Messages
    4 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : Finance

    Informations forums :
    Inscription : mai 2004
    Messages : 4 755
    Points : 11 108
    Points
    11 108
    Billets dans le blog
    5

    Par défaut

    Tout ce que je peux te dire, c'est que ton code est opérationnel avec les deux contrôles chez moi.
    Donc, il y a y un truc qui tourne mal dans ton appli ; en mettant un point d'arrêt (F9) à l'entrée de ton While, que se passe t-il ?

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2013 et 2016 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2017
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    Arf c'est rageant, peut être est-ce un soucis de structure mais j'ai le même problème en créant un second fichier de test.
    Je voulais le joindre à ce post mais le fichier n'est pas accepté par le forum.

  8. #8
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    mai 2004
    Messages
    4 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : Finance

    Informations forums :
    Inscription : mai 2004
    Messages : 4 755
    Points : 11 108
    Points
    11 108
    Billets dans le blog
    5

    Par défaut

    Arrrf, au temps pour moi, je viens de comprendre que c'était une liste multi valuée !

    Tu ne l'a pas précisé, comme quoi, ce qui se conçoit bien s'ennonce clairement

    Bref pour ton cas, il te faut user de la propriété Oldvalue car il n'existe pas de Selected ou ItemsSelected pour un combobox.
    D'ailleurs, pour ta gouverne, sache qu'un combobox à case à cocher est fort peu pratique car le principe des cases à cocher est d'être visible au premier coup d'oeil.

    Bref, voici un exemple qui va résoudre ton problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub TestComboMulti()
    Dim ind                                                As Integer
    Dim txt1                                               As String
     
        If UBound(Me.CONTACT.OldValue) > 0 Then
            For ind = LBound(Me.CONTACT.OldValue) To UBound(Me.CONTACT.OldValue)
                txt1 = txt1 & "Contact : " & Me.CONTACT.Column(1, ind) & " " & Me.CONTACT.Column(2, ind) & " " & Me.CONTACT.Column(3, ind) & " " & Me.CONTACT.Column(4, ind) & vbCrLf
            Next
        End If
        MsgBox txt1
     
    End Sub
    Bon j'ai me le mot clé Me car mon code est testé au sein du formulaire lui-même;

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2013 et 2016 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2017
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    Merci beaucoup !

    J'ai un peu adapté la solution mais ca m'a débloqué

    PS : je pensais pourtant avoir été clair dès mon premier post
    Je souhaite récupérer les valeurs associées aux cases cochées dans une ComboBox à sélection multiple dans un formulaire.

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

Discussions similaires

  1. fonction ajouter option a une combobox (select)
    Par youyou2011 dans le forum JavaScript
    Réponses: 2
    Dernier message: 23/01/2008, 14h52
  2. [BUG]Select toujours au dessus avec IE
    Par Jibees dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 19/09/2007, 15h38
  3. [Système] Booléen toujours faux dans une fonction
    Par Jules.LT dans le forum Fonctions
    Réponses: 5
    Dernier message: 01/08/2007, 19h58
  4. combobox.select( un string)
    Par Mihalis dans le forum Delphi
    Réponses: 3
    Dernier message: 10/06/2007, 10h24
  5. [Delphi 2005][INTERBASE] isEmpty toujours faux
    Par Vulcanos dans le forum Bases de données
    Réponses: 2
    Dernier message: 26/03/2005, 21h43

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