bonjour

j'ai une liste de listbox, elle comprend plus de 40 colonnes

avant je procédais de la sorte

j’exécutais une requette sql dans ma base de données Access en vba
j'écrivais le résultat dans une feuille de calcul
puis je remplissais une listbox

ça fonctionnait très bien mais il fallait presque 2 secondes pour exécuter cette macro


j'ai donc décider de tester autre chose

j'exécute une requette sql dans ma base de données Access en vba
j'écris directement le résultat dans ma listbox

il faut 0.45 secondes, excellent

sauf que je n'ai pas les entêtes de colonnes!!!

vous avez une idée?


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
TexteSQL_liste_feuille_atdec = "SELECT [date_création],[produit],[lignes],[ref],[lot],[description défaut],[Nbre_pièces_ATDEC],[cloture],[action ligne] ,[action qualité 1],[résultat qualité 1],[action qualité 2],[résultat qualité 2],[action qualité 3],[résultat qualité 3],[action qualité 4],[résultat qualité 4],[action qualité 5],[résultat qualité 5],[action qualité 6],[résultat qualité 6],[N°feuille_atdec],[Palette1 lot],[Palette2 lot],[Palette3 lot],[Palette4 lot],[Palette5 lot],[Palette6 lot],[Palette7 lot],[Palette8 lot],[Palette9 lot],[Palette10 lot],[Palette11 lot],[Palette12 lot],[Palette13 lot],[Palette14 lot],[Palette15 lot],[Palette16 lot],[Palette17 lot],[Palette18 lot],[Palette19 lot],[Palette20 lot]FROM [feuille atdec] WHERE [produit] IS NOT NULL and [cloture] IS NULL "
 
Set rst = cn.Execute(TexteSQL_liste_feuille_atdec)
a = rst.GetRows
Me.L_liste_feuille_atdec.Column = a    ' Il n'y a pas de problème s'il n'y a qu'une ligne