Bonjour,
Voilà, j'utilise des composants TADOQUERY pour gérer ma bd Access. Je ne sais pas pourquoi mais dans certain cas, les opérations sur ces composants sont très très très lentes, 30sec pour réaliser un clic dans une colone d'un dbgrid par exemple ce qui rend le programme innutilisable.
Ces opérations sont basiques :
- Close(), Add("Select * Form Client Where ID=..."), Open()
- dans la gestion des bookmark.
Ne voyant aucune réponse, je vous donne plus de détails au cas ou quelqu'un aurait une solution.
En fait, dans certain cas, je prépare ma requete TADOQUERY et le temps d'attente est insignifiant. Mais dans d'autre cas (alors qu'il n'y a à priori que quelques enregistrement dans ma table) je peux attendre jusqu'à trente seconde pour exécuter (en pas à pas) la ligne adoQuery->Open().
De même lors d'une insertion, le programme se fixe sur l'opérateur Post() mais dans d'autre cas, sur d'autre table, le Post() ne m'a jamais posé de problème.
Une simple requête : Select count(idConso) from Conso where idClient = '43', écrite de la façon suivante:
adoQuery->Close();
adoQuery->SQL->Clear();
adoQuery->SQL->ADD("Select ...='43');
adoQuery->Open();
J'attend 3sec pour exécuter le Open. D'un coté je n'ai qu'une poignée d'enregistrement dans ma table Conso.
Bref, sur des requêtes Refresh() aussi je passe un temps fou. En clair mon programme est casi inutilisable, dés que je clique quelque part je dois boire un café et fumer 3 clopes et me frapper la tête sur tous les murs de mon bureau, revenir derrière mon écran et recommencer deux ou trois fois avant d'avoir un résultat.
J'espère beaucoup sur vos conseils, les raisons pouvant causer ce ralentissement car je ne sais vraiment pas quoi faire.
Partager