IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDK Discussion :

[BO 6.5][VBA] Temps d'exécution d'une requête lancée par macro VBA [Fait]


Sujet :

SDK

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 12
    Points : 11
    Points
    11
    Par défaut [BO 6.5][VBA] Temps d'exécution d'une requête lancée par macro VBA
    Bonjour,

    En développant une IHM vba pour centraliser les demandes d’invites et les rendre plus intuitive, nous procédons via une macro à l’ouverture d’un rapport BO, puis au rafraichissement des fournisseurs de données en changeant le code SQL pour l’adapter à la demande utilisateur saisie dans l’IHM. Pour cela nous utilisons les lignes de code suivantes :

    strSql = ActiveDocument.DataProviders.Item(i).SQL & " WHERE (" & ParamWhere & ")"
    ActiveDocument.DataProviders.Item(i).SQL = strSql

    On reprend le code de la requête créée dans BO, puis on y ajoute notre clause WHERE en fonction des données saisie par l’utilisateur, ce qui remplace les invites BO classiques.

    Cela dit, en rafraichissant les données comme cela, le temps d’exécution pour un seul fournisseur de données passe de moins de 10 secondes sous BO à plus de 45 secondes en le lançant depuis une macro VBA pour les mêmes nombres de données.

    Existe-t-il un moyen d’optimiser ce genre de traitements ?
    Y aurait-il un moyen de contourner ce problème ?

    Merci par avance

  2. #2
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Bonsoir,
    Pourquoi, au lieu de
    reformuler le sql en l'adaptant
    d'exécuter ce sql avec une clause where

    vous ne pas laisser tranquile cette requête
    et utiliser la méthode VBA suivante en 7.1.2 dans la FAQ BO
    Comment poser un filtre complexe et exporter en pdf ?
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/06/2007, 12h10
  2. [MySQL] temps d'ouverture d'une connexion VS temps d'exécution d'une requête
    Par epoz dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/04/2007, 18h06
  3. Calculer le temps d'exécution d'une requête
    Par BRAUKRIS dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 16/03/2007, 12h59
  4. [MySQL] Temps d'exécution d'une requête
    Par eon-of-the-scorn dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/07/2006, 11h06
  5. Affichage du temps d'exécution d'une requête
    Par milka dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/03/2004, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo