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

Modélisation Discussion :

problème table jointure [AC-2007]


Sujet :

Modélisation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 48
    Points
    48
    Par défaut problème table jointure
    Bonjour à toutes et à tous
    Cela fait deux jours que je galère… j’ai consulté sur le net des infos concernant les relations de n à n, les tables de jointures… et je n’arrive pas à solutionner mon problème. Pourriez-vous m’aider svp

    Je créé une base de données contacts associations

    Un contact peut intervenir dans plusieurs associations et une association peut avoir plusieurs contacts

    Un contact peut avoir plusieurs fonctions dans différentes associations et une fonction peut être attribuée à plusieurs contacts.

    J’ai donc créé les tables suivantes :

    TblAssociation
    IDAssociation
    NomAssociation
    Adresse
    ….

    TblContact
    IDContact
    IDAssociation
    NomContact
    PrenomContact
    ….
    TblFonctionContact
    IDFonctionContact
    IDContact
    Fonction
    Mail

    Tables de jointures :

    TblLienAssociationContact
    IDContact
    IDAssociation


    TblLienContactFonction
    IDContact
    IDFonctionContact


    J’ai réussi à créé le formulaire « Association et Contact » : FrmAssociation et sous-formulaire Contact + sous formulaire fonction

    Là où je rencontre un problème c’est pour le formulaire « Contact et association » : FrmContact et sous formulaire Association et Fonction

    Dans ce sous formulaire je souhaiterais afficher les noms des associations et la fonction qui correspondent au contact.

    Si le contact est présent dans plusieurs associations cela afficher le même contact sur plusieurs fiches.

    J’espère avoir été claire.
    Un grand merci pour votre aide

  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 momoju,

    Il me semble qu'il y a quelques erreurs de conception.

    Rectification de tes tables :

    TblAssociation
    - IDAssociation (num auto, clé primaire)
    - NomAssociation
    - Adresse
    ….

    TblContact
    - IDContact (num auto, clé primaire)
    - IDAssociation (en effet, la jointure se fait par la table de jointure)
    - NomContact
    - PrenomContact
    - Mail (en effet, le mail semble être au niveau du contact et non de la fonction, à moins qu'il y ait un mail différent par fonction du contact)
    ….

    TblFonctionContact
    - IDFonctionContact (num auto, clé primaire)
    - IDContact (en effet, la jointure se fait par la table de jointure)
    - Fonction
    - Mail (en effet, le mail semble être au niveau du contact et non de la fonction, à moins qu'il y ait un mail différent par fonction du contact)
    ....


    Tables de jointures :

    TblLienAssociationContact
    - IDContact
    - IDAssociation
    ==> clé primaire IDContact / IDAssociation ;
    ==> relation TblContact 1--->N TblLienAssociationContact via IDContact ;
    ==> relation TblAssociation 1--->N TblLienAssociationContact, via IDAssociation.

    TblLienContactFonction
    - IDContact
    - IDFonctionContact
    ==> clé primaire IDContact / IDFonctionContact ;
    ==> relation TblContact 1--->N TblLienContactFonction via IDContact ;
    ==> relation TblFonctionContact 1--->N TblLienContactFonction, via IDFonctionContact.

    Dans la fenêtre "Relations", les cardinalités (1--->N) devraient t'être proposées comme indiqué.

    Dans ta première analyse, le fait d'avoir IDAssociation dans la table TblContact veut dire qu'un contact ne peut être QUE dans une seule association. Pareil pour IDContact dans la table TblFonctionContact qui veut dire que une fonction ne peut être occupée QUE par un seul contact.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 48
    Points
    48
    Par défaut problème table jointure
    Merci beaucoup pour ta réponse

    J'ai effectué les modifications. Je n'arrive toujours pas à afficher pour un contact la liste des associations auxquelles il appartient.

    Dans ma table contact les noms sont en double voir en triple. J'en perds mon latin....

    Je pense mal utiliser les tables de jointure pour réaliser mes formulaires et sous-formulaires

    je ne vois toujours pas où sont mes erreurs. Merci

  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
    Je me rends compte que j'ai commis une erreur pour la table de jonction (modifications en italique/souligné).

    TblLienContactFonction
    - IDContact
    - IDAssociation
    - IDFonctionContact
    ==> clé primaire IDContact / IDAssociation / IDFonctionContact ;
    ==> peut-être, index unique IDAssociation / IDFonctionContact, si tu ne veux pas qu'il y ait plusieurs fonctions identiques pour une même association (2 trésoriers, par exemple) ;
    ==> relation TblContact 1--->N TblLienContactFonction via IDContact ;
    ==> relation TblAssociation 1--->N TblLienContactFonction via IDAssociation ;
    ==> relation TblFonctionContact 1--->N TblLienContactFonction, via IDFonctionContact.

    En effet, un contact à une fonction pour une association donnée, ce que ne gérait pas la table de jonction initiale (le couple Contact/Fonction étant unique).

    Une autre question : passes-tu par les assistants pour générer tes sous-formulaires ou traites-tu cela dans VBA ?
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 48
    Points
    48
    Par défaut problème table jointure
    Encore merci,

    Après modification :

    Plus de doublons dans la table contact

    par contre je ne peux toujours pas afficher 1 contact et ses associations ou une association et ses contacts.

    Je créé mes formulaires via l'assistant peut-être des erreurs dans les requêtes qui permettent de créer les frm et sfrm.

    Merci encore

  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
    par contre je ne peux toujours pas afficher 1 contact et ses associations ou une association et ses contacts.
    Il n'y a aucune raison pour que tu ne puisses pas le faire !

    Requête R1 :
    Table TblContact liée à TblLienContactFonction via Id_contact ;
    Table TblLienContactFonction liée à TblAssociation via Id_association ;
    Table TblLienContactFonction liée à TblFonctionContact via Id_fonction.
    ==> te donne la liste des associations pour les contacts avec leur fonction dans cette association.

    Requête R2 :
    Table TblAssociation liée à TblLienContactFonction via Id_association ;
    Table TblLienContactFonction liée à TblContact via Id_contact ;
    Table TblLienContactFonction liée à TblFonctionContact via Id_fonction.
    ==> te donne la liste des contacts pour les associations avec leur fonction dans cette association.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 48
    Points
    48
    Par défaut problème table jointure
    Je suis désolée mais malgré les 2 requêtes je rencontre les mêmes probèmes. Je me permets de vous joindre mon fichier au cas où.

    encore merci

  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
    En premier lieu, tu n'as pas besoin de la table TblLien_contactAssociation car tu as la table TblLienContactFonction qui gère le triplé IDContact/IDFonctionContact/IDAssociation. Il n'est donc pas nécessaire de gérer le couple IDContact/IDAssociation.

    En effet, un contact est lié à une association avec une fonction déterminée.

    Je regarde ton .mdb un peu plus tard.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

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


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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 631
    Points : 56 945
    Points
    56 945
    Billets dans le blog
    40
    Par défaut
    bonsoir,

    est-ce que les règles de gestions s'opposent à un schéma plus simple, comme:

    ?

    Un contact dans une association peut exercer plusieurs fonctions.
    Un contact peut exercer la même fonction dans plusieurs associations.
    Dans une association, une même fonction peut être exercée par plusieurs contacts.

  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
    Bonsoir F-leb,

    Nous sommes d'accord, donc : sauf erreur, c'est exactement le schéma indiqué, une fois la table TblLien_contactAssociation supprimée.

    Tu as renomé la table TblLienContactFonction en Intervenir : pourquoi pas.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  11. #11
    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
    Dans TblLienContactFonction Sous-formulaire, indiques Requête1 en source de données.

    Dans TblLienContactFonction Sous-formulaire1, indiques Requête2 en source de données.

    Après cela, tout baigne.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 48
    Points
    48
    Par défaut problème table jointure
    bonsoir et merci,

    Je vous avoue être légèrement perdue. J'ai modifiée mes tables comme indiqué. Je n'ai plus la liste déroulante pour la fonction et je me perds dans les requêtes 1 et 2 car j'ai toujours le même problème. suis-je fatiguée ?

    encore un grand merci à vous deux

  13. #13
    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
    Peux-tu décrire le problème que tu constates ?
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 48
    Points
    48
    Par défaut
    Dans le formulaire Association

    plus de liste déroulante pour la fonction

    sous-formulaire contact si je mets deux fois le même contact pour des asso différentes ce contact n'a pas le même numéro

    Dans le formulaire contact

    j'ai toujours les doublons si contact dans plusieurs asso alors autant de fiches que de contact.

    Je ne suis pas sûres d'avoir bien fait mes requêtes 1 et 2.....

    encore merci

  15. #15
    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
    Une chose que je n'avais pas vu : la table TblFonctionContact ne sert à rien. C'est la table TblLienContactFonction qui gère le triplé (F-leb l'avait bien vu).

    Donc :
    - supprimes TblFonctionContact ;
    - vides tes tables ;
    - refait la relation entre TblListeFonction et TblLienContactFonction avec intégrité référentielle ;
    - refait les 4 formulaires.
    ==> cela devrait rouler.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 48
    Points
    48
    Par défaut
    merci, j'essaie de mettre tout cela en application et reviens vers toi demain je ne vais pas abuser de ton temps car il est tard

    encore merci

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 48
    Points
    48
    Par défaut
    Voilà j'ai fait les modifs et j'ai toujours le même problème.

    Je te joins le fichier modifié

    encore merci et bonne soirée

  18. #18
    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
    Ta base modifiée.
    Requêtes xxxx_a.

    Formulaire instantané sur xx1_a => liste déroulante OK
    Formulaire instantané sur xx2_a => liste déroulante OK

    Tu avais une table en trop.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    Merci beaucoup pour ton aide. Il y a un petit souci dans le formulaire TblassociationPartenaire, lorsque j'utilise la liste déroulante pour les fonctions j'ai le message suivant : "Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement est requis dans la table TblListeFonction

    encore merci

  20. #20
    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 Momoju,

    Il faut :
    1. que tu vérifies toutes les listes déroulantes que tu as paramétrées au niveau de toutes tes tables ;
    2. indiquer IDContact/IDFonctionContact/IDAssociation en clé primaire de TblLienContactFonction ;
    3. paramétrer tous les champs de TblLienContactFonction en liste déroulante sur la bonne table.


    Dans le formulaire généré par la requête globale, les derniers champs de fonction ne sont pas les champs de la table de jointure, mais ceux de la table de base.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème de Jointure sur 2 tables
    Par Andry dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/05/2006, 13h20
  2. Problème de jointure entre 2 tables Access
    Par MITCH31 dans le forum VBA Access
    Réponses: 8
    Dernier message: 14/12/2005, 14h31
  3. Problème de jointure entre 3 tables
    Par Yphon dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/09/2005, 15h58
  4. Problème de jointure entre 2 ou 3 tables
    Par NicoNGRI dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/08/2005, 12h44
  5. Problème de jointure de tables
    Par AurelBUD dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/04/2005, 16h27

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