cs_toto1980
Messages postés81Date d'inscriptionlundi 13 janvier 2003StatutMembreDernière intervention15 février 2008
-
24 mars 2004 à 13:37
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
24 mars 2004 à 17:41
Voila mon problème. Au démarage je lis dans une base de données et affiche ces données. Mais ensuite j'ai un bouton pour rafraichir et j'appelle la même fonction mais elle met énormément de temps. Je vois les lignes s'ajouter une à une
Je ne vois pas pourquoi...
j=0
While Not rs.EOF
For i = 1 To 23
hflex.Col = i
hflex.Row = j
hflex.Text = rs.Fields(i)
End If
Next i
rs.MoveNext
j = j + 1
Wend
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 24 mars 2004 à 17:41
Salut toto1980
Je remarque plusieurs irrégularités dans ces lignes ^ :
Le "End If" : Rien à faire là : il n'y a pas de "If"
Au lieu de "While - Wend", utilise plutôt "Do While - Loop"
Le "hflex.Row = j", mets le avant le "For" : la ligne restera sélectée
Ou bien, remplace les lignes .Col= .Row= et .Text= par une seule : .TextMatrix(i, j) = rs.Fields(i)
qui, une fois remodelé, donne :
j=0
Do While Not rs.EOF
For i = 1 To 23
hflex.TextMatrix(i, j) = rs.Fields(i)
Next i
rs.MoveNext
j = j + 1
Loop
(*) à confirmer l'ordre des "i, j" ou "j, i" dans TextMatrix