bessouma06
Messages postés76Date d'inscriptionjeudi 9 décembre 2010StatutMembreDernière intervention19 décembre 2010
-
8 août 2008 à 18:18
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 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
______________________________________________
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
bessouma06
Messages postés76Date d'inscriptionjeudi 9 décembre 2010StatutMembreDernière intervention19 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
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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.