Bonjour tout le monde,
J'ai une base assez importante :
- 200 tables
- 32000 lignes et 70 colonnes par tables
Pour des requètes simples (sans jointure) depuis Excel en utilisant ADO, ma vitesse est correct de l'ordre de 1 à 2 secondes (selection de 13 colonnes sur 32000 lignes). Le problème arrive quand je fais des jointures sur mes tables, il faut rajouer 5 à 6 secondes de temps d'éxécution.
Je ne sais pas si c'est le fait qu'il y ait tant de lignes ou si c'est par définition long n'ayant pas une grande habitude d'access.
Ma requete de jointure est dynamique en fonction des choix de l'utilisateur. Pour l'instant au niveau Macro Excel :
- Je crée une connection à la base
- Je crée une commande
- et je travaille sur le recordset correspondant à l'execution de la commande
C'est à l'éxécution de la commande que je perds du temps
En appelant une fonction vb stocké dans une base access et prenant en paramètre un string correspondant à la requète dynamique créé à partir d'Excel, serait-il possible que la requète exécutée au niveau de la fonction Access me fasse gagner du temps par rapport à l'appel depuis Excel.
Aurais-je un problème pour récupérer le recordset ?
Bon, je vais faire quelques tests et continuer à chercher l'info sur le net mais si quelqu'un a un avis ça m'intéresse.
Bonne journée
Caro
Partager