Affichage liste box

bessouma06 Messages postés 76 Date d'inscription jeudi 9 décembre 2010 Statut Membre Dernière intervention 19 décembre 2010 - 8 août 2008 à 18:18
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 9 août 2008 à 08:19
bonjour à tous
j'ai un petit probléme concernant le délais pour afficher un liste box.en fait en cliquant sur un bouton la liste box prend beaucoup de temps pour s'afficher ce qui n'est pas praticable si on a plusieurs opérations à faire.
cette liste affiche les données à partir d'une base de données acces qui contient disons 200 enregistrements.
est ce que quelqu'un peut m'aider à changer dans les lignes de code de façon à accélerer un peut l'affichage ?
voilà le code:
______________________________________________________________________________________
Private Sub Command4_Click()
Set BD = DBEngine.OpenDatabase("d:\gestion de stock.mdb")
Set CL = BD.OpenRecordset("client")
List2.Clear
 List2.Refresh
 
 If CL.RecordCount > 0 Then
    CL.MoveFirst
    While Not CL.EOF
    If CL!cod_clt <> "" Then
        List2.AddItem CL!cod_clt & "--->" & CL!nom_clt
         End If
       CL.MoveNext
      Wend
  End If

If List2.Visible = False Then
    List2.Visible = True
   List2.Refresh
    List2.SetFocus
    Else
   List2.Visible = False
   
End If
BD.Close
______________________________________________

4 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
8 août 2008 à 19:03
Bonjour

Lie donc ta listbox à ta base de données (au lieu de la compléter par des additem)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 août 2008 à 19:11
Salut
-1- Je pense qu'en rendant la ListBox invisible pendant les insertions, tu gagneras du temps
-2- Tu dois pouvoir associer directement ta ListBox à un des champs d'une des tables de ta connexion.
  Voir le compsant ADODC qui établira la connexion à ta DB, ensuite, suffit d'aller dans les propriétés DataMember, DataSource, DataField et DataFormat pour désigner le composant ADODC, la table et le champ
-3- Si tu voulais utiliser une ListView (avec une seule colonne), les résultats seraient peut-être plus rapide (composant plus ... moderne)
-4- Dans ce dernier cas, il existe des techniques pour remplir une ListView ultra rapidement grace aux API
  Exemple dans <cette source> (en anglais)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
bessouma06 Messages postés 76 Date d'inscription jeudi 9 décembre 2010 Statut Membre Dernière intervention 19 décembre 2010
8 août 2008 à 21:15
salut
comment je lie la liste box à ma base de données?
j'ai fais additems pour que je puisse sélectionner un client à partir de la liste.
j'ai pas bien compris
merci de vouloir m'expliquer avec un petit exemple (je replace quelle ligne par quel code ...) un truc de ce genre.
merci d'avance
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
9 août 2008 à 08:19
Bonjour,

Ce n'est pas du code, qu'il te faut, mais t'intéresser aux propriétés d'une ListBox (notamment la propriété Datasource) et à leur exposé dans ton ide en ligne, sur ta machine.
0
Rejoignez-nous