Taille max d'un contrôle ListBox

Résolu
cs_Pirotes31 Messages postés 37 Date d'inscription lundi 15 novembre 2004 Statut Membre Dernière intervention 3 juillet 2015 - 13 avril 2005 à 17:28
PatDeLaYaute Messages postés 133 Date d'inscription dimanche 28 avril 2002 Statut Membre Dernière intervention 15 janvier 2009 - 14 avril 2005 à 12:10
Bonjour,


je suis confrontée à un pb épineux : en effet j'ai un contrôle ListBox qui est alimenté par une table de ma base de données, table qui possède 2 champs : Code et Libellé.
Tout se passe très bien quand il n'y a qu'une dizaine d'enregistrements.
Les choses se gâtent sérieusement quand il y a plus d'une 30aine-40aine d'enregistrements, j'obtiens le message d'erreur suivant : "Erreur d'exécution 9 - Indice en dehors de la plage", et l'application se ferme.

Je souhaiterais donc savoir si on peut augmenter le nombre d'enregistrements à insérer dans une ListBox sans la faire planter, et éventuellement savoir s'il y a un contrôle qui pourrait remplacer cette liste au cas où je ne puisse pas augmenter la taille, sachant que je sélectionnais toutes les lignes de ma liste en un clic de bouton.

Merci de vos réponses.

Miss P.

5 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
14 avril 2005 à 11:50
bon je rectifie.
on peut rentrer autant de caractères qu'on veut et autant de lignes souhaitées et la ListBox accepte sans problème.
mais bizarrement elle sait pas gérer ses indices, encore un bug de crosoft !
à partir de 32768 elle passe en négatif, même avec un indice défini en Long.
pourtant les lignes sont rentrées et largement au-dessus de 65536.
désolé j'avais pas pas vu et loin d'imaginer une bêtise pareille.

pour éviter ce problème, utilise une ListView à la place, c'est pas beaucoup plus dur à utiliser et je n'ai jamais de rencontré de problèmes de limite avec ce contrôle.

Daniel
3
PatDeLaYaute Messages postés 133 Date d'inscription dimanche 28 avril 2002 Statut Membre Dernière intervention 15 janvier 2009 3
14 avril 2005 à 12:10
Qaund je parle de 32768 entrées c'est bien sûr le nombre d'élements dans ta liste.

Gobillot >> Le problème de cette "limite" c'est que l'index d'une listbox est de type
Integer, tu ne peut pas changer le type de cette variable ormis si tu fait ton propre contôle
"Listbox" avec un index défini par un type Long.

@+
PatDeLaYaute
3
PatDeLaYaute Messages postés 133 Date d'inscription dimanche 28 avril 2002 Statut Membre Dernière intervention 15 janvier 2009 3
13 avril 2005 à 19:02
Salut,



une listbox peut contenir environ 32700 entrées. (l'index est de type integer)

Vérifie ton code parce que tant que tu n'as pas atteint cette limite de 32700 il n'y a pas de plantage.


@+
PatDeLaYaute
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
13 avril 2005 à 19:23
il n'y a pas de limite dans une ListBox.
et le libellé de l'erreur ne correspond pas à la ListBox.

Daniel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Pirotes31 Messages postés 37 Date d'inscription lundi 15 novembre 2004 Statut Membre Dernière intervention 3 juillet 2015
14 avril 2005 à 08:52
Re bonjour,

A PatDeLaYaute, je souhaiterai savoir quand tu parles d' "entrées" cela correspond à "caractères"? 32700 caractère max dans un ListBox?

A Gobillot, là je voudrais dire que quand je réduis le nombre d'enregistrements à insérer dans le ListBox, tout rentre dans l'ordre et je n'ai plus de message.
Bien évidemment j'ai essayé avec des données différentes d'un essai à l'autre pour cerner le pb.
Cela vient donc bien de mon ListBox... désolée. ;-)

A vous deux enfin, merci pour vos réponses et à celles (futures) de tous les autres!

Miss P.
0
Rejoignez-nous