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

Requêtes et SQL. Discussion :

Comment réutiliser des Query complexes [AC-365]


Sujet :

Requêtes et SQL.

  1. #1
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut Comment réutiliser des Query complexes
    Bonjour,

    j'ai un Query, que je voudrais le réutiliser avec des variations mineures, j'exporte le SQL, je fais des remplacements dans le texte, je sauve le nouveau Query, mais pour lancer ce nouveau Query, il demande un lien ODBC, le problème c'est que je ne peut pas pointer sur ma propre base!

    la question est: y u t'il un moyen d'"industrialiser" les query de cette manière



    dans la réalité mon query est vraiment complexe, mais voici un test simple: j'ai fait un exemple avec 2 tables et 2 Query
    [QueryB], c'est la même chose que [QueryA] sauf que dans le SQL j'ai remplacé 1 par 2
    Nom : Situationinit.GIF
Affichages : 115
Taille : 18,7 Ko



    Quand je lance [QueryB], j'ai le message suivant
    Nom : Selectionnerlasourcededonnees.GIF
Affichages : 115
Taille : 61,8 Ko



    et si je sélectionne un lien ODBC sur ma propre base j'ai le message d'erreur suivant
    Nom : Impossible.GIF
Affichages : 130
Taille : 53,5 Ko

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour.

    Est-ce que tes tables sont des tables dans une base autre que Access ?

    Si non, je pense que tu as utilisé les requêtes de type "Pass thru" (SQL Direct) et pas des requêtes Access.
    Si c'est le cas, utilise les requête de type sélection et change simplement l'affichage pour accéder au SQL.
    C'est via l'icône en haut à gauche.

    Les requêtes Pass thru sont destinées à écrire du SQL non Access et à être exécutées par des systèmes distant comme Oracle ou MS SQL Server.
    Elles nécessitent en effet une connexion ODBC.

    A+

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 815
    Points : 14 908
    Points
    14 908
    Par défaut
    bonjour à tous les 2
    Si c'est le cas, utilise les requête de type sélection et change simplement l'affichage pour accéder au SQL.
    c'est bien le cas rien qu'en voyant l'icône (petit globe = pas glop ) associée à la requête B

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Merci pour les réponses,

    ce que je constate, c'est que en prenant un query designé classiquement, une fois qu'on a cliqué sur [SQL], modifié manuellement le query en pass-through, même si cette modification est mineure et ne fait pas référence à des tables externes, Access ne sait pas le reconnaitre et ne peut pas convertir le pass-through en query designé classiquement.

    too bad, mais ça se comprend.

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Par contre on peut copier le SQL du pass-trough, cliquer sur "Union", coller le SQL, là le query fonctionne correctement

    ça semble une bonne solution de contournement!

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour.

    Tu peux toujours coller du SQL dans n'importe quelle requête (select, ajout, suppession, modification).
    Il suffit de changer l'affichage en haut à gauche pour SQL.

    La seule attrape est que pour que la requête s'affiche correctement en mode édition il faut que le SQL soit du genre :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select [table].* from table

    où les champs sont préfixés par le nom de la table d'origine.
    Une fois le SQL "à la norme", il est possible de passer en mode création et là probablement que Access va supprimer certains préfixes.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL-Server] Comment consruire pa query en fonction des élément slectionnés
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 06/02/2019, 11h16
  2. JMX : Comment exposer des classes complexes sur la JConsole?
    Par jukkes dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 06/02/2013, 11h01
  3. Comment créer une table sas pour gérer des queries
    Par arnaldo1974 dans le forum Administration et Installation
    Réponses: 1
    Dernier message: 02/12/2009, 14h39
  4. Réponses: 1
    Dernier message: 15/06/2006, 16h39
  5. Réponses: 2
    Dernier message: 21/06/2005, 09h46

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