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 :

besoin d'aide sur une relation plusieurs à plusieurs


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2024
    Messages : 9
    Points : 2
    Points
    2
    Par défaut besoin d'aide sur une relation plusieurs à plusieurs
    Bonjour, je suis enseignant dans le milieu professionnel et je souhaiterai réaliser une base de donnée pour gérer une partie de mes tâches administratives.

    Je souhaite dans un premier temps réaliser une base sur le référentiel métier,

    tout s'articule autour des compétences, pour le moment j'ai géré trois blocs.

    20TBL_activité - 21TBL_tache - 22TBL_detail tache ce premier bloc défini mes taches.

    01TBL_pole connaissance - 02TBL_connaissance - 03TBL_detail_conn ce deuxième bloc défini mon pole connaissance.

    10TBL_unite prof - 11TBL_competence - 12TBL_critere comp ce dernier bloc défini une compétence

    mais la ou ça se complique pour moi, c'est qu'une compétence (11TBL_competence) peut avoir une ou plusieurs activité (20TBL_activite) donc relation 1 vers infini
    et son inverse est aussi vrai 1 activité (20TBL_activite) peut avoir plusieurs compétences (11TBL_competence). donc relation 1 vers infini.

    Donc j'ai affaire à une relation infini vers infini ?

    pour faciliter la compréhension je vous ai joint les relation tel que réalisé pour le moment en sachant que ce qui est entouré en rouge ne fonctionne pas bien sur.

    je vous remercie pour votre aide.
    Pascal
    Images attachées Images attachées  

  2. #2
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 842
    Points : 986
    Points
    986
    Par défaut
    Bonjour,
    Une relation plusieurs à plusieurs entre deux entités se résout par une entité d'association, donc entre les tables 20TBL_activite et 11TBL_competence, il faut créer une table 00TBL_activite_competence qui a pour clé primaire la combinaison des clés primaires des deux tables : Num_activite et Num_comp. Dans ce cas, la clé étrangère ref_competence est inutile dans la table 20TBL_activite.
    Bonne journée
    .
    Diviser c'est régner : United we stand, Divided we fall
    .

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2024
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par star Voir le message
    Bonjour,
    Une relation plusieurs à plusieurs entre deux entités se résout par une entité d'association, donc entre les tables 20TBL_activite et 11TBL_competence, il faut créer une table 00TBL_activite_competence qui a pour clé primaire la combinaison des clés primaires des deux tables : Num_activite et Num_comp. Dans ce cas, la clé étrangère ref_competence est inutile dans la table 20TBL_activite.
    Bonne journée
    .
    OK merci pour votre réponse, bonne soirée Pascal

  4. #4
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 842
    Points : 986
    Points
    986
    Par défaut
    En aparté, j'aurais un conseil sur le nommage des objets en général (table, colonne, contrainte, variable, etc.).
    Garder un consistance dans la topographie des noms, càd, faire en sorte que les noms des objets aient un format identique.
    Un exemple est le nom des tables 20TBL_activite et 11TBL_Competence, l'un commence par une minuscule et l'autre par une majuscule.
    Proscrire les caractères accentués et l'espace dans les noms.
    Etc.
    Bon DEV
    .
    Diviser c'est régner : United we stand, Divided we fall
    .

  5. #5
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2024
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par star Voir le message
    En aparté, j'aurais un conseil sur le nommage des objets en général (table, colonne, contrainte, variable, etc.).
    Garder un consistance dans la topographie des noms, càd, faire en sorte que les noms des objets aient un format identique.
    Un exemple est le nom des tables 20TBL_activite et 11TBL_Competence, l'un commence par une minuscule et l'autre par une majuscule.
    Proscrire les caractères accentués et l'espace dans les noms.
    Etc.
    Bon DEV
    .
    Bonjour, je vous remercie pour vos conseils, je débute dans access même si je penses avoir de bonnes bases. je vais retravailler tout ça.
    encore merci Pascal

  6. #6
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2024
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Voilà la structure est corrigée... j'ai renommé les champs suivant vos conseils, et ajouté deux tables.
    Nom : 0Capture d'écran 2.png
Affichages : 120
Taille : 84,2 Ko

  7. #7
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2024
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    j'ai mes trois domaines avec des jointures garantissant les intégrités....

    Merci pour votre aide
    bonne journée pascal

  8. #8
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 842
    Points : 986
    Points
    986
    Par défaut
    Bonjour,
    La table d'association devrait être nommée 20TBL_tache_competence.
    Il convient aussi d'être consistant dans le nommage des attributs des tables : Soit les noms de colonne commencent par une majuscule, sinon, par une minuscule.
    Comme lorsqu'on rédige un texte, une phrase commence par une majuscule et se termine par un point. Pour l'écriture de codes informatique, c'est pareil. Se contraindre à des règles systématiques permet de s'y retrouver plus facilement par la suite.
    .
    Diviser c'est régner : United we stand, Divided we fall
    .

  9. #9
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2024
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par star Voir le message
    Bonjour,
    La table d'association devrait être nommée 20TBL_tache_competence.
    Il convient aussi d'être consistant dans le nommage des attributs des tables : Soit les noms de colonne commencent par une majuscule, sinon, par une minuscule.
    Comme lorsqu'on rédige un texte, une phrase commence par une majuscule et se termine par un point. Pour l'écriture de codes informatique, c'est pareil. Se contraindre à des règles systématiques permet de s'y retrouver plus facilement par la suite.
    .
    Merci pour votre aide

  10. #10
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2024
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    J'ai bien avancé, je commence par finaliser cette partie, la saisie est faite, c'est conforme au niveau données.

    cette partie de la base est une "bible", on ne doit donc pas pouvoir apporter des modifications dans les tables crées pour garantir la pérennité des données sources.

    je me demande comment je vais pouvoir faire cela, avez vous des idées?

    je comptais autoriser juste une consultation; pour cela visualiser les compétences, savoirs et pôles connaissances sur des formulaires interdisant toutes modifications.

    Qu'en pensez vous.
    Bonne journée Pascal

  11. #11
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 432
    Points
    19 432
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Pour compléter, si vous souhaitez saisir ou consulter des données dans un formulaire (sous-formulaire) basé sur une relation plusieurs-à-plusieurs vous pouvez consultez ces discussions :

    https://www.developpez.net/forums/d2...-d-meme-table/

    https://www.developpez.net/forums/d2...urs-plusieurs/

    Et ce tutoriel :

    https://denishulo.developpez.com/tut...s-a-plusieurs/

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  12. #12
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2024
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    merci à vous tous pour votre aide, je progresse doucement , je penses avoir finaliser la structure de mes tables....
    Bonne journée PAscal

  13. #13
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2024
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2024
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bonjour à tous, j'ai bien avancé sur le projet, la première partie est faite .

    mais pour la suite j'ai des doutes sur ma structure, sur l'image suivante, la partie entouré de bleu m'interroge....
    Nom : Capture a1.png
Affichages : 49
Taille : 90,3 Ko

    La première partie fonctionne bien je peux à l'aide de mes requêtes, des formulaires, filtre et code visualiser mes données "sources" sans soucis. tel que vous pouvez le voir sur l'image suivante

    Nom : Capture a2.png
Affichages : 47
Taille : 161,0 Ko

    Maintenant ce que je souhaite faire c'est un Workflow me permettant de créer mes séquences.
    mes séquences font appel au compétences et critère de compétence donc 1Tbl_competence et 1Tbl_critere_comp
    Font appel aux pôles connaissances, connaissances, et détail connaissance donc des tables 3Tbl_pole_connaissance , 3Tbl_connaissance et 3Tbl_detail_conn
    ensuite avec les tâches avec les deux tables 2Tbl_....

    Avant de me lancer dans des requêtes filtre complexe, j'aimerai avoir votre avis sur la structure.

Discussions similaires

  1. [AC-365] Formulaire basé sur une relation plusieurs-à-plusieurs
    Par AlainSch dans le forum Access
    Réponses: 19
    Dernier message: 28/12/2021, 15h57
  2. Réponses: 9
    Dernier message: 11/04/2021, 11h25
  3. [AC-2013] Formulaire basé sur une relation plusieurs à plusieurs
    Par kerfab dans le forum Access
    Réponses: 5
    Dernier message: 27/10/2017, 22h39
  4. Réponses: 14
    Dernier message: 16/07/2015, 09h52
  5. Réponses: 1
    Dernier message: 18/09/2010, 02h40

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