Problème avec un MSHFlexGrid

cs_toto1980 Messages postés 81 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 15 février 2008 - 24 mars 2004 à 13:37
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 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

1 réponse

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
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

Vala
Jack
0
Rejoignez-nous