{Access} Liaison de deux tables

Fermé
jotentiosou Messages postés 3 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 20 janvier 2010 - 15 janv. 2010 à 12:01
jotentiosou Messages postés 3 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 20 janvier 2010 - 20 janv. 2010 à 10:01
Bonjour à tous,

J'ai créé une base pour un centre de formation, j'ai donc une table stagiaire, une table stage, et j'essaye de lier une table bénévole. Pour vous expliquer un peu, je saisis un stagiaire (nom, civilité, adresse, tél, etc...), je lui attribue un stage (dispositif, lieu, date entrée, sortie, etc...). Certains stagiaires sont suivis par des bénévoles. J'essaye donc de lier ma table bénévole (nom, prénom, adresse, etc...) à la table stage (avec une table de liaison). Tout fonctionne à merveille (non sans quelques galères pour les lier toutefois), mais le soucis que je rencontre est qu'à chaque fois que j'attribue un bénévole à mon stage, ça me crée un nouveau bénévole, même si je sélectionne un bénévole existant. Je précise qu'un stagiaire peut avoir un bénévole (voire plusieurs, mais cela est rare), et qu'un bénévole peut avoir plusieurs apprenants (donc relations plusieurs-plusieurs).
Je ne sais pas trop quoi vous indiquer de plus, mais répondrai volontiers à vos questions. Voici un screen de mes relations. http://i275.photobucket.com/albums/jj305/xcecil/relation.png

Merci de votre aide !

PS : j'œuvre sous Access 2007

4 réponses

Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
16 janv. 2010 à 08:12
Bonjour jotentiosou,


D'après votre description, trois tables sont requises :
1 - Stagiaires
2 - Stages
3 - Bénévoles

"Un Stagiaire a de un à plusieurs stages" soit une relation 1 à plusieurs (plusieurs pour ménager l'avenir)
"Un Stagiaire a de un à plusieurs bénévoles" soit une relation 1 à plusieurs
"Un bénévole a de un à plusieurs stagiaires" soit une relation 1 à plusieurs


Attendez tout de même d'autres opinions
Cordialement
0
jotentiosou Messages postés 3 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 20 janvier 2010
16 janv. 2010 à 12:25
Bonjour Jean_Jacques et merci de prendre la peine de m'aider.

Sur la théorie, je suis d'accord avec vous; j'ai déjà essayé cette piste, mais mon ID_stage (Tbl_Stage) est unique, et je ne puis le lier avec mon ID_bénévole qui lui aussi est unique, d'où la table de liaison. Sinon, la relation directe sera une relation un-à-un, ce qui ne m'intéresse pas.

J'ai essayé de "bidouiller" les jointures, mais j'avoue que cette partie m'est assez obscure.

A vos méninges !
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
16 janv. 2010 à 13:25
Re-Bonjour jotentiosou,

La table bénévole doit comporter un champ qui fait référence à stagiaire (et réciproquement). L'avantage est que cela permet de rendre inutile votre table dite de "liaison".

Ce site devrait vous éclairer à ce sujet :
https://www.excel-exercice.com/?tg=articles&topics=303


Sinon on en reparle.
Cordialement
0
jotentiosou Messages postés 3 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 20 janvier 2010
20 janv. 2010 à 10:01
Désolé pour la lenteur de réponse, je ne travaille qu'à mi-temps sur cette BD.

Alors j'ai essayé votre méthode, mais j'obtenais une erreur sur mon formulaire de saisie : "Vous avez essayé d'affecter une valeur Null à une variable qui n'est pas du type de données Variant"

Un petit brainstorming avec moi-même et une recherche sur G ne m'ont pas donné satisfaction, j'ai persisté plus loin. Une erreur à priori dans mon formulaire, j'ai donc refait mes liaisons champs père/fils. La relation fonctionne bien maintenant, mais mon problème persiste, j'ai toujours un nouveau bénévole de créé.

Des idées?
0