Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/03/2007, 17h31   #1
Invité de passage
 
Inscription : mars 2007
Messages : 6
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mars 2007
Messages : 6
Points : 0
Points : 0
Par défaut [Conception]relation plusieurs a plusieurs

Bonjour,
me me remet sur access 2003 pour la 1ere fois depuis...2003... et je viens de decouvrir les relations à plusieurs
J'essaye de faire une base de donnée de gestion de personnel interimaire. J'ai d'un coté une base avec:
Num_interim (clé primaire)
Nom
Prénom
Adresse
et de l'autre coté une base avec une liste de langues (une seule colonne, clé primaire).
Je veux pouvoir lier les interimaires avec jusqu'a 3 langues par personne.
Sachant que chaque personne peut parler plusieurs langues et qu'une langue peut etre parlée par plusieurs personnes, je suis bien dans le cas d'une relation "plusieurs à plusieurs". J'ai donc compris qu'il faut que je crée une table intermédiaire contenant les deux clés primaires des deux bases précedentes, mais ou mets-je mes champs LV1, LV2 et LV3? Je me casse la tete la dessus depuis 3h.
Merci d'avance de vos conseils.
emmanuel_F est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 17h42   #2
Membre Expert
 
Homme Michel
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 1 585
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 1 585
Points : 2 144
Points : 2 144
Bienvenue au club
tu as donc :
ta table t_Interim
NumInterim (clé primaire)
Nom
Prénom
Adresse

ta table t_langue
numLangue (clé primaire)
libLangue

alors ta table de jointure est simplement
NumInterim (type Long)
numLangue (type Long)
à laquelle je te conseillerai d'ajouter un numAuto comme clé primaire parce que je le fais toujours mais ce n'est pas nécessaire.

Bonne continuation
micniv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 18h18   #3
Invité de passage
 
Inscription : mars 2007
Messages : 6
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mars 2007
Messages : 6
Points : 0
Points : 0
ok, merci de ta reponse rapide, donc il faut deja que je modifie ma table "langues" pour changer la clé primaire.
Ensuite, je crée un formulaire pour ma saisie, dans lequel je met mes divers champs de t_Interim, et le champ libLangue de t_langue, c'est ça?
emmanuel_F est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 18h36   #4
Membre Expert
 
Homme Michel
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 1 585
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 1 585
Points : 2 144
Points : 2 144
En effet, tu créées par exemple un formulaire f_Interim dans lequel tu insères un sous-formulaire pour saisir les langues de cet interim. Le form et le ssform sont liés par le champ m=numInterim
micniv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 18h43   #5
Invité de passage
 
Inscription : mars 2007
Messages : 6
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mars 2007
Messages : 6
Points : 0
Points : 0
bon, ça marche pas, mais je vois pourquoi, j'ai pas été assez clair.
En fait, dans ma table t_langues, j'ai déja une liste de langues, or, la solution que tu me proposes m'oblige a saisir a chaque fois les langues, ce que je ne veux pas (trop de monde, de langues et de risques d'erreur).
De plus, l'idéal serait que l'operateur qui fait la saisie ait trois champs avec des listes deroulantes, libellés Langue 1, 2 et 3, de façon a pouvoir ensuite faire des recherches sur, par ex, tous les gens qui ont anglais en 1ere langue.
Je suis plus clair? (en relisant, j'ai un doute la dessus)
emmanuel_F est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 19h57   #6
Membre Expert
 
Homme Michel
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 1 585
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 1 585
Points : 2 144
Points : 2 144
Citation:
Je veux pouvoir lier les interimaires avec jusqu'a 3 langues par personne.
dans ce cas il vaut mieux tout simplement creer :

ta table t_Interim
NumInterim (clé primaire)
Nom
Prénom
Adresse
LV1
LV2
LV3

ta table t_langue
libLangue

et dans le form f_Interim
tu fais des listes déroulantes pour saisir LV1 lv2 et Lv3

J'espère que ça t'aide ....
micniv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 23h47   #7
Invité de passage
 
Inscription : mars 2007
Messages : 6
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mars 2007
Messages : 6
Points : 0
Points : 0
oui, ça m'aide, et j'en était arrivé à peu près à la même conclusion. Mais comme de toute façon je vais avoir à établir des relations du même type pour d'autres infos, j'aimerai bien trouver une solution quand même.
Bref, je continue a chercher, et je suis toujours preneur pour toutes les idées qui trainent.
emmanuel_F est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 10h47   #8
Invité de passage
 
Inscription : mars 2007
Messages : 6
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mars 2007
Messages : 6
Points : 0
Points : 0
il faudrait peut etre que j'oublie l'idée de hiérarchiser les réponses, la question devient donc: comment faire pour que je puisse choisir trois réponses dans une liste?
emmanuel_F est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 12h01   #9
Membre Expert
 
Homme Michel
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 1 585
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 1 585
Points : 2 144
Points : 2 144
le plus simple reste le sous-form surtout pour la recherche ultérieure.

pour ton début, vois la bd ci-jointe.
micniv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 15h02   #10
Invité de passage
 
Inscription : mars 2007
Messages : 6
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mars 2007
Messages : 6
Points : 0
Points : 0
Alors ça, c'est top, merci.
emmanuel_F est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h16.


 
 
 
 
Partenaires

Hébergement Web