Taille max d'un contrôle ListBox [Résolu]

cs_Pirotes31 37 Messages postés lundi 15 novembre 2004Date d'inscription 3 juillet 2015 Dernière intervention - 13 avril 2005 à 17:28 - Dernière réponse : PatDeLaYaute 133 Messages postés dimanche 28 avril 2002Date d'inscription 15 janvier 2009 Dernière intervention
- 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.
Afficher la suite 

5 réponses

Meilleure réponse
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 14 avril 2005 à 11:50
3
Merci
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

Merci Gobillot 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Meilleure réponse
PatDeLaYaute 133 Messages postés dimanche 28 avril 2002Date d'inscription 15 janvier 2009 Dernière intervention - 14 avril 2005 à 12:10
3
Merci
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

Merci PatDeLaYaute 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

PatDeLaYaute 133 Messages postés dimanche 28 avril 2002Date d'inscription 15 janvier 2009 Dernière intervention - 13 avril 2005 à 19:02
0
Merci
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
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 13 avril 2005 à 19:23
0
Merci
il n'y a pas de limite dans une ListBox.
et le libellé de l'erreur ne correspond pas à la ListBox.

Daniel
cs_Pirotes31 37 Messages postés lundi 15 novembre 2004Date d'inscription 3 juillet 2015 Dernière intervention - 14 avril 2005 à 08:52
0
Merci
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.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.