serialv2
Messages postés41Date d'inscriptionjeudi 5 mars 2009StatutMembreDernière intervention13 août 2012
-
21 nov. 2009 à 12:59
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
23 nov. 2009 à 14:02
Bonjour,
Voila dans une appli qui enregistre des donnees +200000 avec un traitement dessus,j'ai mis sur ma form un label qui dit "X articles traites sur Y"
et je le remets a jour a chaque article traite,
le probleme c'est que le label ne fait rien en execution normal.
cela fonctionne bien quand je mets un point d'arret dans le code et que je fait f5,cela mets deja arrive ds une autre appli,mais je n'ai plus l'astuce.
si qq un passe par la et qu'il peut m'aider ca serai cool.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 21 nov. 2009 à 13:10
Salut
C'est dû au fait que ta boucle ne laisse pas le temps au système de gérer les affichages ou le clavier, notamment.
Il te suffit donc d'ajouter un DoEvents dans ta boucle.
Si tu dois traiter 200.000 données, je te conseille de ne pas faire de DoEvents à chaque tout, sinon la boucle sera fortement ralentie.
Utilise cette méthode classique qui ne lance ce DoEvents que tous les 30 tours :
If maVarBoucle Mod 30 = 0 Then DoEvents
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)