ADOQuery et Progress Bar??

cs_othland Messages postés 298 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 9 février 2010 - 3 janv. 2008 à 12:27
cs_kabakas Messages postés 45 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 7 mai 2011 - 2 févr. 2008 à 12:17
Bonjour à tous,

Comment puis-je lier l'avancement d'execution d'un ADOQuery à la progression d'un progress bar.

Merci pour votre aide!

12 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
3 janv. 2008 à 13:08
Intéressant..
peut-être un thread..
En tout cas ton scrypt doit être énorme car l'ouverture d'un query se chiffre en ms..
attention, la vitesse dépend aussi de la construction de la requête..

J'ai réussi néamoins à mettre un progress bar sur l'ouverture d'une soixantaine de tables sans thread.(mais les requêtes sous simple..)

cantador
0
cs_othland Messages postés 298 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 9 février 2010 1
3 janv. 2008 à 14:13
Bonjour cantador,
ben ma requete est simple:
select distinct champ1 from T1 where champ2=val
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
3 janv. 2008 à 15:35
combien d'enregistrements dans T1 ?
combien  ---------------- champ2 = val ?

cantador
0
cs_othland Messages postés 298 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 9 février 2010 1
3 janv. 2008 à 15:45
ben dans T1 y a 3300 enregistrement
et avec champ2=val on trouve a peut pres 100 à 150
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
3 janv. 2008 à 15:53
3300 enregistrements, pour ma part c'est tout petit..

juste un truc calcule le temps d'ouverture de T1 avec un simple
select *  from T1.

cantador
0
cs_othland Messages postés 298 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 9 février 2010 1
3 janv. 2008 à 16:53
ben c'est 0:00:04
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
3 janv. 2008 à 17:00
Et maintenant calcule le temps mis pour ouvrir ton query avec la requête
select distinct champ1 from T1 where champ2=val ?

cantador
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
4 janv. 2008 à 13:08
Je pense que tu as du trouver la solution..

cantador
0
cs_othland Messages postés 298 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 9 février 2010 1
8 janv. 2008 à 11:07
Bonjour cantador,
j'ai compris, tu veux calculer le temps total et utiliser un timer non.???
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
8 janv. 2008 à 19:07
non non je voulais juste voir combien de temps mettait la requête définitive
(et avec champ2=val on trouve a peut pres 100 à 150) et voir ensuite la solution appropriée.. car je suis étonné qu'il y aurait nécessité d'une progressbar mais  dans le doute..
c'est ce dernier temps qui va nous éclairer..

cantador
0
cs_kabakas Messages postés 45 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 7 mai 2011 1
31 janv. 2008 à 22:30
salut othland
tu veux dire que tu veux voir une barre progressive lorsque le programme parcourt la table !!
quelle boucle utilise-tu ?
0
cs_kabakas Messages postés 45 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 7 mai 2011 1
2 févr. 2008 à 12:17
salut

{Supposons que ta progress bar se nomme "BarPro" et que la table se nomme : "Table"
alors, avant d'entrer dans la boucle, tu fais :}

BarPro.Min := 0;
BarPro.Max := Table.RecordCount;
BarPro.Position := 0;

// et dans la boucle, tu fais :

BarPro.Position : = BarPro.Position + 1;

// et en dehors de la boucle à sa fin, tu fais :

BarPro.Position := 0;
0
Rejoignez-nous