|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Mickaël Dessinateur industriel Inscription : décembre 2010 Messages : 61 ![]() |
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 :
Mickaël |
||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Romain M.Étudiant Inscription : avril 2009 Messages : 167 ![]() |
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: A mon avis , remplaces par et adaptes le reste du code Cdt |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Mickaël Dessinateur industriel Inscription : décembre 2010 Messages : 61 ![]() |
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. |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Romain M.Étudiant Inscription : avril 2009 Messages : 167 ![]() |
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 :
MsgBox MeMaListe.ItemData(Me.MaListe.ListIndex) Cdt |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Mickaël Dessinateur industriel Inscription : décembre 2010 Messages : 61 ![]() |
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.
|
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Romain M.Étudiant Inscription : avril 2009 Messages : 167 ![]() |
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. |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Mickaël Dessinateur industriel Inscription : décembre 2010 Messages : 61 ![]() |
Re,
Pour accèder à l'interface je te propose de l'utiliser tel qu'elle sera en fonctionnement. Donc lance le formulaire "Accueil" (pour initialiser certaines variables), puis clique sur le bouton "GPE". (tu peux te rajouter dans la table utilisateur pour éviter un éventuel plantage). Ensuite sélectionne dans Famille: "Orfice" puis "Plate" pour la catégorie. Tu verras apparaitre les attributs en haut à droite. Pour tester d'autres valeurs, tu pourras choper la famille "Manifold" puis la catégorie "Heater". Point de vue code, la majeure partie se situe dans "Form_GPE" puis la sub "RefreshQuerry". (toutes les autres cbox du formulaire, qui n'ont pas de problème, appellent grâce à leur évènement AfterUpdate "RefreshQuerry". Les fonctions / procédures appellée par ResfreshQuerry se trouvent dans le module "Common". Si tu as des critiques, n'hésite pas. N'étant pas programmeur (je suis autodidacte) et n'ayant eu aucune formation, je n'utilise probablement pas les conventions. ps: Ca ne me dérange aucunement. Au contraire, ça me permet de progresser. Grâce à ton aide ainsi que quelque autres membres de ce forum, j'ai réussi à créer quelque chose de pas trop mal en l'espace de 3 semaines.
|
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() Romain M.Étudiant Inscription : avril 2009 Messages : 167 ![]() |
Bonjour,
J'ai trouvé le problème : 1 - Les listIndex sont corrects 2 - En regardant dans les propriétés , j'ai remarqué qu'il y a 2 colonnes ... Normal ! la requête source comporte 2 valeurs dont la première est toujours la même ! la clé primaire. Par conséquent , Access te renvoie toujours la première valeur ! 3 - Donc pour corriger le problème , rien de plus simple , 1 seule valeur dans la requête source : Code :
Form_GPE.Controls(CurrentCBox).RowSource = "SELECT Valeur FROM ValeurAttributPossible WHERE IDAttribut = " & CStr(Rst!IDAttribut) & " ;" PS : je te renvoie la base dans 3 min , ma connexion est bizarre today ! |
|
|
10
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Mickaël Dessinateur industriel Inscription : décembre 2010 Messages : 61 ![]() |
Eh ben... Chapeau à toi. Je ne l'aurais jamais trouvé.
Pour la simple et bonne raison, que je ne comprends pas pourquoi ça ne fonctionne pas dans ce cas, alors que je procède de la même manière ailleurs. Si jamais tu arrives à me le faire comprendre, je t'applaudis !!! ![]() Encore une fois, merci énormément à toi ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com