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

VBA Access Discussion :

requete access ou SQL et VBA


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Homme Profil pro
    ingénieur essais électronique
    Inscrit en
    Mai 2011
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur essais électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 144
    Par défaut requete access ou SQL et VBA
    Petite question :

    Vaut il mieux réaliser ses requetes sous access (avec l'éditeur graphique) ou direct en SQL dans VBA ?

    Avantages et inconvénients des deux méthodes ?

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 407
    Par défaut
    Personnelement je trouve qu'écrire les requêtes avec l'éditeur permet de les écrire plus vite (Access s'occupe de la syntaxe) et de les contrôler plus facilement puisqu'on peut voir le résultat immédiatement.

    Et une requête est visible si elle est dans la liste des requêtes ce qui, je trouve, facilite le débuggage.

    Au niveau performance, en théorie une requête en VBA est moins performante qu'une requête enregistrée car Access ne peut pas l'optimiser avant son exécution.

    À l'usage je n'ai pas constaté de différence notoire.

    Appeler une requête en VBA qu'elle soit enregistrée ou dans le code n'est pas très différent et ne nécessite pas d'effort majeur.

    Personnellement je n'utilise le SQL dans le VBA que pour :
    1. le vidage des tables (DELETE * FROM MaTable)
    2. les requêtes de sélection où la clause where est dynamique
    3. l'éditeur de requête ne permet pas de faire cette requête (très rare !)


    Le reste du temps je refuse d'être privé du confort de l'éditeur de requête qui permet en quelques glisser/déplacer de réaliser des requêtes extrèment complexes (ex : Une table et 15 autres tables en jointure = 1/2h de travail avec les vérifications).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre confirmé
    Homme Profil pro
    ingénieur essais électronique
    Inscrit en
    Mai 2011
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur essais électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 144
    Par défaut
    Ce que je trouve embettant c'est d'avoir tout un tas de requete dans la liste. On s'y retrouve moins bien, c'est le bazarre.

    En effet ca a tous les avantages du graphique : rapidité et simplicité.

    Et tu prefere le VBA ou l'aditeur de macro access ?

    Ce que j'apprécie dans le vba c'est de pouvoir tout y mettre (macro, requete + code etc...)

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Chacun a sa philosophie.
    Pour ma part elles sont pratiquement toutes écrites en vba (même si je m'aide du Qbe). Comme cela elles sont créées dynamiquement en fonction des besoins, puis supprimées.
    Les puristes de la performance crieront que ce n'est pas top, mais j'y vois un gros avantage: Même si quelqu'un bidouille une requête elle sera recréée telle qu'elle a été conçue...

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 407
    Par défaut
    Citation Envoyé par sylv20 Voir le message
    Et tu prefere le VBA ou l'aditeur de macro access ?
    Je préfère le QBE mais comme le dit GAYOT , c'est aussi un point de vue personnel. Je lis assez mal le SQL donc pour comprendre une requête, généralement, je la colle dans le QBE et je la regarde graphiquement.

    Et pour avoir fait de la rétro ingénieurie sur des bases, le SQL dans le code, je ne trouves pas cela exitant du tout.

    J'ai aussi une vue un peu ségrégationniste sur le sujet : le SQL c'est pour les requête, le VBA c'est pour le code et si je peux quand je parle à une autre BD (ex : Oracle) j'utilise des procédure stockées qui encapsulent complètement la complexité des requêtes ou modules appellés.

    Pour ce qui est de la liste, je suis d'accord avec toi, ça peut devenir rapidement confus. La solution que j'ai adoptée est d'avoir une politique de nommage rigoureuse de manière a repérer rapidement ce qui m'interresse. Note qu'avec 2003 et suivante on peut créer des groupes d'objets qui peuvent faciliter l'organisation des tes éléments. J'ai, par exemple, fait un groupe démarage où je mets mon formulaire de démarage et éventuellement ma macro AutoExec.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 124
    Billets dans le blog
    47
    Par défaut
    Bonsoir,

    Je ne retrouve plus la source Microsoft qui parle de ça mais de mémoire, les requêtes enregistrées à partir du QBE sont compilées à la première exécution (et recompilée à l’exécution seulement si la requête est modifiée ou la base compactée). La compilation consomme un peu de temps mais une fois compilée, l’exécution est en principe plus rapide.

    Or il me semble que si la requête n’est pas enregistrée à partir du QBE mais rédigée dynamiquement à partir de VBA, la requête sera systématiquement compilée avant d’être exécutée.

    A confirmer, ça me semble quand même bien théorique

  7. #7
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    Par défaut
    Bonjour à tous,

    J'ai eu des cours sur du SQL pendant ma dernière année de master et j'ai maintenant plutot (voir un peu trop) l'habitude de les taper à la main avant d'essayer de les faire fonctionner et ça me permet aussi de voir où il pourrait y avoir un problème, si problème il y a.

    Donc pour moi le mieux c'est de les taper directement...
    Mais ayant déjà utilisé l'éditeur graphique, je trouve qu'il peut apporter de l'aide qd on s'y connait pas trop, enfin c'est l'impression que j'ai.

Discussions similaires

  1. Requete access dans excel en vba
    Par spud96 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/06/2010, 17h57
  2. ouvrir une requete en mode sql via vba
    Par moimemessssssssss dans le forum VBA Access
    Réponses: 3
    Dernier message: 02/09/2008, 11h43
  3. Conception - ou mettre les requetes Access ou SQL
    Par Chris 81 dans le forum Modélisation
    Réponses: 1
    Dernier message: 03/08/2008, 14h54
  4. Requete Access sql sous vba Excel
    Par titeZ dans le forum VBA Access
    Réponses: 6
    Dernier message: 27/04/2008, 12h02
  5. Portage requete Access vers SQL Server (Iif)...
    Par cmousset dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 14/06/2005, 16h38

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