Temporisation sur requete SQL

corvelc

XLDnaute Occasionnel
Bonjour amis développeurs,

Je suis amateur coté développement Excel, c’est pour cela que je vous soumets mon problème. J’ai développé une application Excel qui se basait :
- sur la récupération des données pour mes feuilles Excel à partir d’une option d’un progiciel utilisant une base SQL2000.
- puis je mettais en forme les données et générais des tableaux dynamiques via des macros.
Initialement cela m’obligeait de faire une extraction des données manuellement à partir du logiciel en question, puis de faire un import vers Excel.
Maintenant maitrisant le code SQL, je peux directement extraire mes données à partir de Excel via une connexion ODBC à ce logiciel. Jusque là pas de problème, je récupère bien mes données, mais la problématique est que je veux pouvoir maitriser le temps de récupération, afin de pouvoir attendre la fin de cette récupération avant d’enchainer vers les macros de mise en forme et création des tableaux dynamiques.
Comment puis-je gérer ce temps d’attente, exemple en affichant une message box le temps d’exécution de la requête SQL ?

Schéma de l’enchainement de mes macros actuelles :

1-Macro lancement par utilisateur => 2-Macro SQL pour récup données => 3-Macro création tableaux dynamiques
La temporisation est à mettre entre 2 et 3 (Joint ma macro étape 2)

Merci d’avance pour votre aide
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Temporisation sur requete SQL

Bonjour corvelc

avec ceci
Code:
Application.Wait (Now + TimeValue("0:00:10"))
Application.Wait (Now + TimeValue("0:15:00"))
te donnera une attente de 10 secondes ou 15 minutes ............ à adapter à ton cas

à+
Philippe
 

corvelc

XLDnaute Occasionnel
Re : Temporisation sur requete SQL

D'abord merci pour l'aide.
effectivement j'avais pensé à ce type de possibilité, mais je souhaitai savoir s'il existait une fonction, un ordre ou une variable permettant de savoir que la requete SQL s'est executée et qu'elle s'est terminée.
 

corvelc

XLDnaute Occasionnel
Re : Temporisation sur requete SQL

Bonjour corvelc

avec ceci
Code:
Application.Wait (Now + TimeValue("0:00:10"))
Application.Wait (Now + TimeValue("0:15:00"))
te donnera une attente de 10 secondes ou 15 minutes ............ à adapter à ton cas

à+
Philippe
Je viens de trouver la solution qui permet en réalité de na pas avoir besoin de timmer.
le problème venait du fait que l'ordre .Refresh BackgroundQuery: etait à TRUE, ceci obligeait de se positionner sur la feuille pour que l'ordre se termine et passe à l'ordre suivant, avec l'option =False , plus besoin la mise a jour se fait instantanément et le passage à l'ordre suivant n'est fait qu'a la fin de l'execution de la requete.
merci encore
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 502
dernier inscrit
talebafia