Aller au contenu
  • 0
Pauline_Mabel

Lier 3 tables et leurs enregistrements

Question

Bonjour,
je vous joins la base de données que je suis en train de créer.

J'ai 3 tables : contacts, structures, détails pro.

Dans Contact,
j'ai une table liée qui me permet d'afficher les différentes structures dans lesquelles un contact travaille et les détails pro respectifs.
Dans Structures,
j'ai une table liée qui me permet d'afficher les différents contacts qui travaillent dans cette structure et les détails pro qui les lient à cette structure.
Dans Détails pro,
je lie une personne unique à une structure unique par sa fonction. Donc si une personne travaille dans 2 structures différentes, elle aura 2 fiches Détails pro.
Dans mon cas, Judith Michelet travaille chez Octobre SAS et chez l'Atelier.

Dans le modèle Structures,
je peux ajouter un contact et lui attribuer sa fonction dans la structure.
Cela génère une nouvelle fiche Détails pro relative à la personne, pour cette structure, indiquant sa fonction et les détails associés.
Cela génère aussi une nouvelle fiche Contact, dans laquelle la table liée indique de fait la structure et la fonction.

Mon problème,
c'est que cela génère de NOUVEAUX enregistrements.
Si le contact existe déjà, je ne veux pas créer une autre fiche contact,
je veux récupérer son ID lors de la saisie de son Nom par exemple, pour que les infos apparaissent automatiquement dans la table liée du modèle contact.
J'avais mis en place un style de contrôle liste déroulante avec comme valeurs les rubriques des tables liées, mais ça ne fonctionne pas.

Le même problème se pose dans Contacts,
Si j'ajoute une nouvelle fonction à un contact dans une structure préexistante, je génère une nouvelle fiche structure et non un lien vers celle qui préexiste.
Or j'aimerai récupérer l'ID de la structure en tapant son nom,
pour que les rubriques Structures s'affichent automatiquement dans la table liée du modèle Contact,
et que la table liée dans le modèle Structure affiche les enregistrements ajoutés.

Faut-il effectuer manuellement le lien ? Ou es-il possible par rattachement de valeurs/d'enregistrements de lier ces tables automatiquement ? Comment ?
Je vous remercie pour votre aide.

 

Base de données.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites

1 réponse à cette question

Messages recommandés

  • 0

Bonjour Pauline,

Je n'ai pas encore parcouru ton fichier, je te fais une réponse de principe. Je te propose des éléments de réflexion dans le contexte STRUCTURE avec objectif "ajouter une fonction pour un personne existante".

NB : j'appelle fonction ce que tu mets dans ta table Détails pro, car le terme fonction a le mérite de correspondre a une réalité, "untel occupe la fonction de ceci-cela dans la structure truc".

Une solution possible : ton bouton "Ajout" crée un enregistrement fonction et le lie à la structure, puis dans la table externe, tu as un menu déroulant te permettant de choisir la fonction ET un bouton "Créer" qui permet de créer une personne si elle n'existe pas

Autre solution : au lieu d'un seul bouton "Ajout", tu peux en avoir deux, "Créer une personne" et "Lier une personne existante". Dans ce cas, le bouton "Créer" peut passer par une boîte de dialogue dans laquelle on saisit le nom de la personne à créer. Ensuite, la personne est créée, son identifiant est mis en variable puis la fiche fonction est créée et reçoit les 2 identifiants de la structure et de la personne.

Il y a ensuite des variantes avec fenêtre flottante ou fenêtre carte : le bouton "Ajout" mène vers une fenêtre carte, de type liste, dans laquelle on peut filtrer parmi les personnes existantes ou utiliser un bouton "Créer si nécessaire".

Le choix technique doit se faire en fonction de l'ergonomie que tu veux pour tes futurs utilisateurs.

Cela t'est-il clair ?

Bonne journée !

Jérémie

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×