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

VBA Access Discussion :

Problème sur sélection d'une combobox [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Par défaut Problème sur sélection d'une combobox
    Bonjour,

    Sur un groupe de combobox, j'obtiens systématiquement un comportement étrange. Supposons par exemple que l'une d'elles contiennent 3 valeurs. Si je tente de sélectionner la 2ème, elle me sélectionne la première (comme si je cliquais en fait sur la première valeur). Pareil, pour toutes les valeurs.

    J'ai vérifié aux niveau des propriétés des combobox concernées, et n'y ai rien trouvé. Je ne vois rien dans mon code qui pourraient altérer ce fonctionnement.
    Je vous joins le bout de code qui permet de remplir les combobox:

    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
    i = 1
     
    Set Rst = CurrentDb.OpenRecordset("SELECT * FROM AttributsFamille WHERE AttributsFamille.IDFamille= " & CodeFamille)
     
    Do Until Rst.EOF = True
        CurrentCBox = "cbattrib" & i
        CurrentLbl = "lblattrib" & i
        Form_GPE.Controls(CurrentCBox).Visible = True
        Form_GPE.Controls(CurrentLbl).Visible = True
        Form_GPE.Controls(CurrentLbl).Caption = DLookup("Nom", "Attribut", "ID = " & Rst!IDattribut)
        Form_GPE.Controls(CurrentCBox).RowSource = "SELECT IDAttribut, Valeur FROM ValeurAttributPossible WHERE IDAttribut = " + CStr(Rst!IDattribut) + " ;"
        Rst.MoveNext
        i = i + 1
    Loop
     
    Rst.Close
    Si quelqu'un à une idée, je vous en remercie par avance.
    Mickaël

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur Pilotage
    Inscrit en
    Avril 2009
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Pilotage
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 405
    Par défaut
    Bonjour,

    En réalité , la première ligne de la combobox commence à zéro.
    Il suffit de vérifier avec la propriété ListIndex qui te renvoie la position actuelle ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Me.MaListe.ListIndex
    A mon avis , remplaces

    par
    et adaptes le reste du code

    Cdt

  3. #3
    Membre confirmé
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Par défaut
    Re,

    Concernant le Listindex d'une combobox je connaissais.
    Mais dans le cas présent, je ne me sers pas de cette fonction.

    Les combobox incriminées se nomment "cbattrib1", jusqu'à 7.
    Qui plus est, les combobox affichent les bonnes valeurs. Leur Rowsource respectif est donc correct.

    Il y a de toute évidence, quelque chose qui m'échappe. De même je n'ai pas du bien comprendre ce que tu me dis sur les Listindex.
    Néanmoins, j'ai quand même tenté de remplacer le i = 1 par i = 0 mais ça ne venait pas de ça.

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur Pilotage
    Inscrit en
    Avril 2009
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Pilotage
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 405
    Par défaut
    Le problème ne vient pas du rowsource à coup sur.


    C'est juste la sélection du combobox qui est en cause d'où le listindex , si tu cliques sur la ligne 1 ,le combobox va considérer que t'as cliqué sur la ligne 0

    Essaies de mettre ce code à l'évenement On_Click de l'un des combobox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox MeMaListe.ItemData(Me.MaListe.ListIndex)
    Si Access t'indique le champ précédent , le problème vient de l'évenement on_click . Est ce que tu as déja un code dessus ?

    Cdt

  5. #5
    Membre confirmé
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Par défaut
    Salut

    Alors pour répondre à ta question, et il est vrai que j'aurais dû le préciser dès le départ, je n'ai aucun évènement sur mes combobox pour le moment. (J'en aurai plus tard sur l'évènement AfterUpdate lorsque ce bug sera résolu).

    En ce qui concerne le test que tu m'as fait faire, quelque soit le listindex sélectionné, il me retourne la même valeur qui semble être la première qu'il trouve. Cela dit, je suis en train de vérifier les valeurs trouvées, peut être que ça pourrait m'amener un élément de réponse.

    Je ne comprends vraiment pas sur ce coup la.

  6. #6
    Membre émérite
    Homme Profil pro
    Ingénieur Pilotage
    Inscrit en
    Avril 2009
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Pilotage
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 405
    Par défaut
    Bonjour,

    J'aurais encore besoin de ta base si ceci ne te dérange pas ...

    Cdt

    PS : précises moi le module et le nom du formulaire où le problème a lieu. J'essaierai de te répondre au plus vite.

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

Discussions similaires

  1. [FLASH 8] Problème de sélection dans une liste
    Par jpboogie dans le forum Flash
    Réponses: 3
    Dernier message: 29/09/2006, 14h12
  2. Problème de sélection dans une listbox
    Par cacahuèèète dans le forum Access
    Réponses: 3
    Dernier message: 29/06/2006, 15h03
  3. Problème sur évènement d'une liste déroulante
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 05/05/2006, 08h03
  4. Réponses: 6
    Dernier message: 31/03/2006, 08h01
  5. [VB6]Problème de rafraichissement d'une combobox
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/01/2006, 16h58

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