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 :

Requêtes liaisons multiples qui gardent le même nombre d'enreg. [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut Requêtes liaisons multiples qui gardent le même nombre d'enreg.
    Bonjour!

    Je m'explique, j'ai une table qui s'intitule T_CPLoc, qui contient tous les codes postaux de mon pays, que j'ai d'emblée créé il y a 3 ans pour garder une logique et avoir plus facile (éviter les doublons, sélectionner directement dans une liste. Or il y a plusieurs champs dans cette table, et j'ai donc remarqué que pour certaines requêtes ou autres il m'affichait l'ID au lieu de m'afficher le contenu des 2 champs (3 au lieu de 1000 Bruxelles, par exemple).

    Du coup j'ai ajouté avec succès la table dans la requête, et ca marche, sauf qu'il y a encore un truc que je n'arrive pas à faire/comprendre comment solutionner.

    J'ai plusieurs tables qui font appel à la table CP. La table des Salles, la table des Données Perso, la table de la Structure de travail. Or pour les besoins d'un doc, j'ai besoin d'afficher les CP de 2 de ces 3 tables, or, quand je lie la table CP aux 2 tables (ou aux 3 tables), le nombre d'enregistrements de la requête (qui est égal à 89 et qui correspond au nombre d'inscriptions, décroit, il y en a une vingtaine si 2 des 3 tables est liée à CP, et quelques uns si les 3 tables sont liées entre elles. J'aimerais donc bien savoir comment faire pour lier les 3 tables et garder ce nombre de 89 enregistrements. Si je ne trouve pas la solution j'indiquerai à la main le code postal de la structure de travail (comme d'hab), mais j'aimerais bien pouvoir le faire automatiquement

    Merci à vous pour faire avancer le Schmilblik. Si vous voulez je veux bien faire les captures d'écran nécessaires

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour ZoliveR,

    Peut-être que certaines de tes tables ne trouvent pas de correspondance dans ta table T_CPLoc (CP mal saisi ou Null)?
    Essaies de créer tes liaisons avec une flèche à droite (double click sur le trait de liaison, et lis l'explication : elle est très claire).

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Bonjour Richard et merci de ton aide

    J'ai bien regardé pour les liaisons, mais ca ne marche toujours pas. J'ai fait les modifs nécessaires, il n'y a aucune donnée dans le champ CP, ni dans DPerso ni dans Structure de Travail, qui ne soit plus vide désormais. Tout est rempli des 2 côtés, et comme à la base on ne peut qu'utiliser des données de cette table, il n'y a aucune donnée qui ne figure pas dans cette table. Soit je fais une jointure normale et il m'affiche 11 enregistrements, soit pas de jointure, il m'affiche bien les 89 enregistrements mais il m'affiche l'ID du code postal... Soit je fais avec la flèche comme tu dis (j'ai essayé des 2 côtés, droit ou gauche, et il m'affiche un message du genre "en raison de jointures externes ambigues

    Tiens je suis en train de me demander, est ce parce que les champs CPLoc dans mes 2 tables ont le même nom que ca pose problème?

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour ZoliveR,
    Citation Envoyé par ZoliveR
    Tiens je suis en train de me demander, est ce parce que les champs CPLoc dans mes 2 tables ont le même nom que ca pose problème?
    ==> non, pas de problème.

    Peux-tu poster l'image graphique de ta requête (pas le SQL) ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Voici l'image graphique

    http://imageshack.us/g/803/cap01.jpg/

    La première image c'est sans le lien, tous les enregistrements s'affichent correctement. La 2ème image c'est le lien avec la flèche comme tu me dis, avec le message d'erreur quand j'exécute la requête.

    Entretemps pour avancer j'ai créé une requête 'bis' où j'enlève le lien entre DP et CP, pour le mettre dans structure de travail, comme ca je peux faire mes étiquettes et mes envois

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Deux tables pointent sur le même T_CPLoc : Access va combiner les jonctions, et ce n'est pas ce que tu veux.

    Il faut ajouter, une autre fois, la table T_CPLoc (que Access suffixera T_CPLoc_1). Ensuite :
    - créer un lien entre T_Salle_Lieu et T_CPLoc avec flèche à droite ;
    - créer un lien entre T_StructureTravail et T_CPLoc_1 avec flèche à droite.

    Donc, il faut ajouter T_CPLoc autant de fois que tu veux récupérer la localité de différentes tables.

    Tu devrais obtenir ce que tu souhaites.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Ah tiens je savais pas! Tu viens de m'apprendre un truc. Donc on peut ajouter autant de tables identiques qu'on veut dans une requête, pour faire plusieurs liens, et Access va garder une seule table, il ne va donc pas créer une table supplémentaire, c'est juste lors de la requête qu'il va la "cloner"



    Edit, ok j'ai ajouté la même table, il m'affiche bien 1, je mets les deux tables ,* CPLoc et CPLoc1 dans la requête, ca s'affiche bien toutes les lignes mais dans word , dans la liste des champs, il ne m'affiche qu'une fois la table CP Loc, donc en fait je crois que le mieux que je fasse c'est de faire un copier coller de la table CPLoc pour pouvoir l'utiliser plusieurs fois dans Word sans m'arracher les cheveux... Si tu as une autre piste elle est la bienvenue mais je déteste m'arracher les cheveux

  8. #8
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    C'est à peu près cela... mais pas tout à fait.

    Dans ton exemple, plusieurs tables (T1 et T2) pointent sur la table CP (avec un code postal différent) ; s'il n'y avais pas deux fois la table CP, comment Access pourrait te "ressortir" la ville de l'une ou l'autre table ?...

    Autrement dit :
    T1_CP => CP => code postal et ville de T1 ;
    T2_CP => CP_1 => code postal et ville de T2.

    Bien entendu, physiquement, la table CP reste unique.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Je vais créer une 2ème table car même si j'ajoute dans la relation de la DB une deuxième fois la table CP1, elle ne s'affiche toujours 2 fois que dans Word.

  10. #10
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Non, il ne faut surtout pas dupliquer la table CP !

    D'autre part, je n'ai pas compris ce que vient faire Word dans cette affaire.

    Peux-tu poster l'image graphique de ta nouvelle requête ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Laisse tombé j'ai résolu avec Access, c'est le principal. En fait le problème avec word n'en est pas un vu que je me suis apercu que le publipostage était lié à une autre requête donc... Moi tant que ca marche, si ca marche pas j'improvise autrement. Désolé pour le dérangement et merci

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

Discussions similaires

  1. Somme de colonnes qui n'ont pas le même nombre de champs
    Par Eleven O'Clock dans le forum SQL
    Réponses: 7
    Dernier message: 01/10/2010, 18h37
  2. [LinkedList] itérateurs multiples qui modifient une même liste.
    Par nouknouk dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 14/08/2008, 12h38
  3. Requète de non correspondance multiple qui me pose soucis :s
    Par nekro dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 21/06/2008, 15h19
  4. Requête UPDATE qui rappelle la même table
    Par Linio dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/06/2007, 09h54
  5. Réponses: 7
    Dernier message: 29/03/2007, 15h30

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