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 04/05/2007, 10h37   #1
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
Par défaut Valeur par défaut = valeur d'une autre table

Bonjour à toutes et à tous,
après avoir lu pas mal de pages du sites (pas toutes, je le concède...), je me décide à poser la question sur un nouveau sujet.
je suis débutante sur access 2003

J'ai 3 tables : Entreprises (nom ent., adresse...), Directeur (nom, tel ...), DRH (nom, tel...)
Elles sont reliées 1 à 1 par le numéro Siret (ce qui me semble le plus judicieux)
j'ai forcément un Directeur pour chaque entreprise. mais pas forcément de DRH (le directeur ayant souvent la fonction de DRH dans les petites entreprises)

Je souhaite que la table DRH soit remplie par défaut des valeurs de la table Direction.

Est-ce possible ? , parce que d'après mes lectures ici et là, j'ai le sentiment que non.
Et quelqu'un a-t-il une astuce à me proposer pour résoudre ou contourner le problème ?

J'espère avoir été assez précise.
Merci de vos reponses
lm110379 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2007, 10h53   #2
Membre émérite
 
Avatar de jean-paul lepetit
 
Inscription : février 2005
Messages : 809
Détails du profil
Informations personnelles :
Âge : 56

Informations forums :
Inscription : février 2005
Messages : 809
Points : 830
Points : 830
Salut,

C'est lors de la création d'une nouvelle entreprise, s'il n'y a pas de DRH que tu souhaites que le DRH soit = au Directeur ?
__________________
Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)
jean-paul lepetit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2007, 13h10   #3
Rédacteur

 
Avatar de Tofalu
 
Christophe Warin
Inscription : octobre 2004
Messages : 8 635
Détails du profil
Informations personnelles :
Nom : Christophe Warin
Âge : 28

Informations forums :
Inscription : octobre 2004
Messages : 8 635
Points : 13 718
Points : 13 718
Je pense que la base est mal conçue.

Une entreprise est avant tout composée de personnes qui ont un rôle. Et non directement de role qui sont des personnes.

Ainsi, une personne peut se voir attribuer les rôles de directeur, drh, chef technique etc.

Avec ta structure actuelle, que se passe t'il si demain on te demande de gérer les sous directeur ? Tu crées une nouvelle table ?
Tofalu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2007, 13h49   #4
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
tout d'abord merci, ca fait plaisir de recevoir de l'aide

Jean-paul lepetit : en effet c'est exactement ce que je souaite faire, et pouvoir mettre un nom de DRH j'ai une personne assignée à ce role dans l'entreprise

Tofalu : je n'ai mis en exemple que Directeur et DRH, mais en effet, j'ai une troisème table pour les Resp Environnement.
D'après tes indications, je devrais plutot garder ma table Entreprises et utiliser une table Contacts avec 3 champs du style Vrai/faux (Direction, Drh, Resp.Env.) ?
Je vais essayer pour voir si ca répond à mes besoins, et vous tiendrai au courant.
Merci
lm110379 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2007, 17h00   #5
Rédacteur

 
Avatar de Tofalu
 
Christophe Warin
Inscription : octobre 2004
Messages : 8 635
Détails du profil
Informations personnelles :
Nom : Christophe Warin
Âge : 28

Informations forums :
Inscription : octobre 2004
Messages : 8 635
Points : 13 718
Points : 13 718
Non, plutot 2 tables

Entreprise(NumEntreprise, NomEntreprise...)
Personne(NumPersonne, NomPersonne, NumEntreprise, Role)

Une table role peut apparaitre, ainsi qu'une autre table de jointure personne/entreprise si une personne peut être amenée à travailler dans plusieurs entreprises
Tofalu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 16h36   #6
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
Bonjour,
le we ne m'a pas apporté plus lumière.
j'ai donc essayé 1 table Contact avec 3 champs Vrai/Faux pour les roles.
ce qui finalement semble logique

Par contre je ne suis pas sure de comprendre le fonctionnement que tu me propose avec la table Personne.
le champ Role pourrait contenir DIR ; DRH; ENV ; DIR DRH ; DIR ENV ...
et comme tu me le dis, si un jour j'ai une autre fonction, il me faudra tous les reprendre.

tu penses que mes champs Vrai/Faux me poseront problème ?

merci
lm110379 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 16h42   #7
Membre éprouvé
 
Inscription : mai 2006
Messages : 661
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 661
Points : 462
Points : 462
Citation:
ce qui finalement semble logique
En fait c'est pas très logique ce que tu fais

Ce qu'il te propose de faire c'est de lier ta table tbl_role (si tu décides d'en faire une ) à ta table tbl_personne par un champs Id_Role par exemple.

Ta table rôle aura la structure suivante :
Deux champs : Id_role / Designation_role

Dans ta table tbl_personne, à la place du champs role, tu peux le renommer en id_role, et ainsi relier les deux tables grâce à ton champs id_role.

La façon dont tu procéde est irréalisable sur du long terme, si dans un an il y a 20 nouveaux roles qui apparaissent dans ton entreprise, tu va devoir ajouter 20 nouveaux champs, ce qui impensable en pratique.
Herman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 17h53   #8
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
je me sens nulle, mais je ne trouve pas comment relier mes deux tables.
j'ai donc créé une table tb_role, avec les 2 champs Id_Role et Designation_Role
pour le moment j'ai donc 3 enregistrements : DIR, DRH et ENV

et dans la table tb_Contact, j'ai inséré un champ Id_Role
j'ai fait une relation :
tb_Role Id_Role 1----- infini tb_Contact Id_Role

mais je n'arrive pas à donner plusieurs roles à une meme personne.
dans chaque entreprise 1 personne peut cumuler jusqu'à 3 roles (à ce jour).

J'ai un peu l'impession de dire des énormités et je suis complètement perdue.

Qu'ai-je donc raté ?

merci
lm110379 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 18h07   #9
Membre émérite
 
Avatar de jean-paul lepetit
 
Inscription : février 2005
Messages : 809
Détails du profil
Informations personnelles :
Âge : 56

Informations forums :
Inscription : février 2005
Messages : 809
Points : 830
Points : 830
Salut,

il te faut 4 tables
Tbl_Personnel avec un Id_Personne
Tbl_Entreprise avec Id_Entreprise
Tble_Role avec Id Role
Tbl_Fonction dans laquelle tu as Id_Personne, Id_Entreprise, Id_Role qui va faire le lien avec tes 3 autres tables


Ce qui fait que tu peux avoir une personne dans une entreprise avec un ou plusieurs rôles et même avoir un autre rôle dans une autre entreprise.
il te suffit d'avoir un enregistrement par fonction
__________________
Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)
jean-paul lepetit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 15h06   #10
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
Bonjour,
alors voila où j'en suis :

Tb_Entreprise SIRET 1---- infini Tb_Personnel Siret
Tb_Personnel Id_Peronne 1 ---- infini Tb_Fonction
Tb_Role Id_Role 1----- infini Tb_Fonction

ca a l'air de répondre à mon besoin, bien que je sois maintenant très loin de ma question d'origine.

Est-ce que quelqu'un veut bien me confirmer que c'est cohérent ?
ce serait très gentil à vous

Merci
lm110379 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 15h15   #11
Membre émérite
 
Avatar de jean-paul lepetit
 
Inscription : février 2005
Messages : 809
Détails du profil
Informations personnelles :
Âge : 56

Informations forums :
Inscription : février 2005
Messages : 809
Points : 830
Points : 830
ça a l'air cohérent si ta personne ne peut avoir des fonctions que dans une seule société.
Moi, j'opterais pour la solution que je t'avais donné car, on ne sais jamais l'évolution de ton appli, il faut toujours la faire la plus ouverte possible. Et ça ne change rien aux fonctionnalités
Citation:
Tb_Entreprise SIRET 1---- infini Tb_Fonction
Tb_Personnel Id_Personne 1 ---- infini Tb_Fonction
Tb_Role Id_Role 1----- infini Tb_Fonction
__________________
Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)
jean-paul lepetit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 15h39   #12
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 0
Points : 0
Merci pour ton soutien.
En fait j'avais opté pour la liaison TB_Entreprise - Tb_Personnel, ce qui me permet de créer un formulaire (avec ses sous-formulaires) pour renseigner toutes les infos d'un coup sans avoir à recopier les clés.

choses que je n'arrive pas à faire avec la liason Tb_Entreprise - Tb_ Fonction.
Je me retrouvais à devoir recopier le num Siret dans la Tb_Fonction.
et comme j'en ai 2400 à faire....

en tout cas, merci beaucoup pour l'aide.
lm110379 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 03h08.


 
 
 
 
Partenaires

Hébergement Web