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 :

Regrouper 2 requêtes en une


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Par défaut Regrouper 2 requêtes en une
    Bonjour,

    J'aimerais effectuer une requête sur plusieurs tables à la fois:

    J'ai trois tables:

    Options
    Id | Option

    Product
    Id | Product

    Link_Options
    Id | Option_Id | Product_Id| qté

    je dispose d'une variable article ou l'option est stockée, et j'aimerais récupérer la qté et le produit correspondant à cette option.

    Je peux le faire de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set Db1 = DAO.OpenDatabase("C:base.mdb")
    strSQL = "SELECT Product_Id, qté FROM Link_Options WHERE Option_Id IN(SELECT Id FROM Options WHERE Option = '" & article & "')"     
    Set Rs = Db1.OpenRecordset(strSQL, DAO.dbOpenSnapshot)
     
    Product_Id = Rs("Product_Id")
    qte=Rs("qté")
     
    strSQL = "SELECT Product FROM Product WHERE Id = " & Product_Id & ""
     
    Product = Rs("Product")
    Je voudrais savoir si il était possible de n'effectuer qu'une seule requête regroupant les deux?

    Merci par avance

    Cordialement Kévin

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 206
    Par défaut
    Un petit truc du genre, ça devrait le faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    strSQL = " SELECT P.Product, L.qté FROM Link_Options L" & _
             " INNER JOIN Product P ON P.Product = L.product_id " & _
             " WHERE L.Option_Id IN ( " & _ 
                          " SELECT Id FROM Options WHERE Option = '" & article & "')"

  3. #3
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Par défaut
    Tout d'abord merci beaucoup pour ta réponse!

    J'ai testé le code mais il génère l'erreur suivante:

    Erreur d’exécution '3615'
    incohérence de types dans une expression.

    Aurais-tu une idée?

    Encore merci.

    Kévin

  4. #4
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Par défaut
    J'ai trouvé le problème, j'ai remplacé la partie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JOIN Product P ON P.Product = L.product_id
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INNER JOIN Product P ON P.Id = L.Product_Id
    et cela marche parfaitement.

    Merci beaucoup car cela fait un moment que je cherchais comment faire mais je ne savais pas trop comment utiliser correctement les jointures.

    Cordialement Kévin

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 206
    Par défaut
    Et évidement, 'me suis trompé dans les identifiants

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

Discussions similaires

  1. [WD16] Regrouper deux requêtes en une
    Par WDKyle dans le forum WinDev
    Réponses: 47
    Dernier message: 18/10/2013, 23h16
  2. Regrouper les résultats de 3 requêtes en une seule
    Par getz85 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 28/01/2008, 18h39
  3. Regrouper plusieurs requêtes en une seule?
    Par kabkab dans le forum Requêtes
    Réponses: 12
    Dernier message: 28/07/2007, 11h54
  4. [SQL Server 8] Regrouper 2 requêtes en une ?
    Par Baquardie dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/06/2004, 22h22
  5. Regrouper 3 requêtes dans une seule
    Par LadyArwen dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/06/2003, 09h32

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