Partage
  • Partager sur Facebook
  • Partager sur Twitter

ACCESS - Jointure entre 2 tables

    5 mai 2022 à 18:24:15

    Bonjour, 

    tout d'abord je m'excuse si ce post n'a pas sa place dans ce forum.

    Je bute depuis 24h sur un problème avec Access 365. Voilà le souci: 

    - je dispose d'une table nommée "CD" destinée à gérer des élèves dans laquelle j'ai mis les champs suivants: 

    • Nom de l'élève
    • Prénom de l'élève
    • Etablissement d'origine
    • mail établissement d'origine

    - Pour éviter de saisir fastidieusement des noms et adresses mail d'établissements je dispose d'une deuxième table de données ("BD établissements") dans laquelle se trouvent toutes les données dont j'ai besoin.

    - J'ai réussi à créer une liste déroulante dans le champ "Etablissement d'origine" de ma table "CD" listant tous les noms d'établissements de la table "BD établissements".

    - Maintenant j'aimerais que l'adresse mail s'affiche dans le champ "mail établissement d'origine" de ma table "CD" en fonction de l'établissement sélectionné. Ce n'est pas la mer à boire, mais j'ai eu beau tout essayer après de multiples recherches sur Internet (jointures de tables, requêtes...), je n'y arrive pas. Cette manip' qui serait enfantine avec une simple requête sql devient inextricable: j'ai l'impression qu'Access a été conçu pour rendre ses utilisateurs fous...

    Merci d'avance pour vos conseils!

    PS: c'est mon premier projet un peu complexe sous Access, mais j'ai une petite expérience de gestion de BD en sql.

    -
    Edité par bouffand 5 mai 2022 à 18:25:24

    • Partager sur Facebook
    • Partager sur Twitter
      5 mai 2022 à 19:13:59

      Bonjour,

      bouffand a écrit:

      j'aimerais que l'adresse mail s'affiche dans le champ "mail établissement d'origine" de ma table "CD" en fonction de l'établissement sélectionné

      Une base de données relationnelle ne fonctionne pas ainsi ...

      Ton modèle devrait être ainsi :

      • etablissement ( id_etablissement [clé primaire], nom, adresse, email, etc.)
      • eleve ( id_eleve [clé primaire], nom, prenom, id_etablissement [clé étrangère] )

      Afficher l'email associé à l'établissement de l'élève se fera par une requête SELECT avec une jointure :

      SELECT EL.id_eleve, ET.email
      FROM
          eleve EL
              INNER JOIN etablissement ET
                  ON EL.id_etablissement = ET.id_etablissement

      Normalement, Access gère très bien cela par le schéma de relation et le générateur de requête ...

      A mon avis un peu de formation Access s'impose, car là c'est un peu la base : recherche "access relations".

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        5 mai 2022 à 22:48:19

        Bonsoir,

        je te remercie pour ta réponse et pour la piste que tu m'indiques, ça me fait ouvrir les yeux sur pas mal d'incohérences dans ma démarche. Il faut que j'approfondisse mes connaissances sur le fonctionnement d'Access car ça reste un peu léger, j'en suis conscient. 

        Quoi qu'il en soit je teste ta suggestion ce WE ou en début de semaine prochaine et je te dirai ce que ça donne.

        • Partager sur Facebook
        • Partager sur Twitter

        ACCESS - Jointure entre 2 tables

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown