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

Access Discussion :

Problème de jointure [AC-2016]


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Contrôle de Gestion
    Inscrit en
    Juin 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Contrôle de Gestion

    Informations forums :
    Inscription : Juin 2018
    Messages : 84
    Points : 50
    Points
    50
    Par défaut Problème de jointure
    Bonjour à tous,

    Pour m’entraîner et m'améliorer sur ACCESS je suis en train de créer une petite base de données.
    J'ai créé trois tables "tblArtciles" ; "tblIn" et "tblOut".

    J'ai lié "tblArticles" à la fois avec "tblIn" et "tblOut" avec le type Un-à-plusieurs en appliquant l'intégrité référentielle.

    Ci-dessous le schéma:

    Nom : Relations Tables.JPG
Affichages : 366
Taille : 41,9 Ko

    J'aimerais donc créer une requête me permettant de connaitre pour chaque article la quantité entrée ainsi que la quantité sortie.

    Pour ce faire, dans ma requête j'ai donc pris les champs : pkArticlesID et strArticlesRefArtcile de la tblArticles puis intInNumberIn de la tblIn et enfin intOutNumberUnits de la tblOut.

    Lorsque je lance la requête, rien ne se passe. J'ai l'impression, peut être à tort, que l'explication viendrait du fait que je n'ai pas les même articles dans la tblIn et tblOut que du coup j'aurais des valeurs Null et donc que ça ne marche pas...

    Ou alors, est-ce que je dois passer par une table intermédiaire afin de ressortir les info dont j'ai besoin?

    Juste pour info, si je fais deux requêtes distinctes, cela marche bien...

    Ci-dessous ma requête:

    Nom : qryTest.JPG
Affichages : 317
Taille : 77,5 Ko

    Si vous auriez une petite idée afin de solutionner mon problème ce serait top!!
    Et en abusant un tout petit peu, si vous aviez une petite explication avec ce serait vraiment un must!!

    Merci d'avance en tous cas pour ceux qui auront des éléments de réponse à m'apporter.

    A votre dispo si ma question n'est pas claire ou si vous avez besoin de plus info.

    Schoum

  2. #2
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Essaie un truc de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT tblArticles.strArticlesRefArtcile, tblOut.fkOutArticlesID, tblIn.fkInArticlesID
    FROM (tblArticles LEFT JOIN tblIn ON tblArticles.pkArticlesID = tblIn.fkInArticlesID) LEFT JOIN tblOut ON tblArticles.pkArticlesID = tblOut.fkOutArticlesID;
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  3. #3
    Membre du Club
    Homme Profil pro
    Contrôle de Gestion
    Inscrit en
    Juin 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Contrôle de Gestion

    Informations forums :
    Inscription : Juin 2018
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    Merci pour ce rapide retour.

    Lorsque je fais ça, j'ai une fenêtre qui s'ouvre me demandant de sélectionner la source de données.

    J'ai essayé d'adapter par rapport à la requête SQL que j'ai :

    Initialement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT tblArticles.pkArticlesID, tblArticles.strArticlesRefArtcile, tblIn.intInNumberIn, tblOut.intOutNumberUnits
    FROM (tblArticles INNER JOIN tblIn ON tblArticles.pkArticlesID = tblIn.fkInArticlesID) INNER JOIN tblOut ON tblArticles.pkArticlesID = tblOut.fkOutArtcilesID;
    Adaptée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT tblArticles.pkArticlesID, tblArticles.strArticlesRefArtcile, tblIn.intInNumberIn, tblOut.intOutNumberUnits
    FROM (tblArticles LEFT JOIN tblIn ON tblArticles.pkArticlesID = tblIn.fkInArticlesID) LEFT JOIN tblOut ON tblArticles.pkArticlesID = tblOut.fkOutArtcilesID;
    J'ai la même fenêtre qui s'affiche...

  4. #4
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Ecrit intégralement le message qui s'affiche
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  5. #5
    Membre du Club
    Homme Profil pro
    Contrôle de Gestion
    Inscrit en
    Juin 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Contrôle de Gestion

    Informations forums :
    Inscription : Juin 2018
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    Alors, en refaisant, et en ajoutant GROUP BY ça fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT tblArticles.pkArticlesID, tblArticles.strArticlesRefArtcile, tblIn.intInNumberIn, tblOut.intOutNumberUnits
    FROM (tblArticles LEFT JOIN tblIn ON tblArticles.pkArticlesID = tblIn.fkInArticlesID) LEFT JOIN tblOut ON tblArticles.pkArticlesID = tblOut.fkOutArtcilesID
    GROUP BY tblArticles.pkArticlesID, tblArticles.strArticlesRefArtcile, tblIn.intInNumberIn, tblOut.intOutNumberUnits;
    Du coup, si je veux m'éviter de devoir changer INNER en LEFT dans le code SQL, lorsque je créé mes relations il faut que je mette l'option 2 dans les propriété de jointure au lieu de l'option 1 c'est ça?

    EDIT:
    Voici la fenêtre qui s'affichait lorsque j'avais pas ajouté le GROUP BY
    Nom : Capture.JPG
Affichages : 336
Taille : 73,0 Ko

  6. #6
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Je suis content pour toi
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  7. #7
    Membre du Club
    Homme Profil pro
    Contrôle de Gestion
    Inscrit en
    Juin 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Contrôle de Gestion

    Informations forums :
    Inscription : Juin 2018
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    Merci beaucoup en tous cas de m'avoir mis sur la bonne piste.

    Mais du coup, si je peux abuser, est-ce qu'il y a un moyen d'éviter de toucher au code sql et d'avoir le même résultat?
    J'imagine que cela se joue directement dans les relations entre les tables, non?

  8. #8
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Bien sur en mode création tu modifies juste tes relations en Left, Rigth. Clic droit
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  9. #9
    Membre du Club
    Homme Profil pro
    Contrôle de Gestion
    Inscrit en
    Juin 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Contrôle de Gestion

    Informations forums :
    Inscription : Juin 2018
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    Ah... Je fais ça directement dans la requête et non dans "l'onglet" relation c'est ça?

  10. #10
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Oui oui sinon tu vas modifier les relations naturelles existantes entre les tables. Donc c'est au niveau de la requête comme tu viens de le dire. Chaque requête peut donc avoir sa structure et faire les jointures comme tu le souhaites.
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  11. #11
    Membre du Club
    Homme Profil pro
    Contrôle de Gestion
    Inscrit en
    Juin 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Contrôle de Gestion

    Informations forums :
    Inscription : Juin 2018
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    Super!!

    Encore un grand merci!!!!

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

Discussions similaires

  1. Problème de jointure de tables
    Par AurelBUD dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/04/2005, 16h27
  2. Probléme de jointure
    Par Ajrarn dans le forum Langage SQL
    Réponses: 14
    Dernier message: 24/02/2005, 14h57
  3. Vraisemblable problème de jointure
    Par pimousse76 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 15h34
  4. [MS Access] Problème de jointure
    Par Erakis dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/02/2005, 21h15
  5. Problème de jointure ?!
    Par ebaynaud dans le forum Langage SQL
    Réponses: 8
    Dernier message: 03/11/2004, 11h27

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