Bonsoir à tous,
J'ai des problèmes douloureux dans les jointures !
Dans une application qui gère des stages d'étudiants, j'ai une table
Entreprise, une table Elève, une table StageElève (en relation 1àplusieurs
avec les 2 précédentes, StageElève = côté plusieurs). J'ai aussi une table
ContactEntreprise (en relation 1à plusieurs avec la table Entreprise,
ContactEntreprise = côté plusieurs).
Le problème se pose au niveau de la table ContactEntreprise : il y a
plusieurs contacts dans 1 entreprise (le DG, le DRH, le commercial …). Ces
contacts vont jouer un rôle dans le stage de l'élève. Dans la table
StageElève, il y a un champ ResponsableDeStage et Tuteur ; et je voudrais, au
moment d'affecter un élève dans une entreprise, pouvoir puiser dans les
enregistrements de ContactEntreprise pour désigner responsable et tuteur.
D'un tempérament laborieux, je suis habitué à n'utiliser que des intégrités
référentielles entre les tables de mes applications (avec un champ de type
NuméroAuto et clé primaire côté 1 de la relation). Là, Access me refuse
l'intégrité entre CléContactEntreprise et les 2 champs ResponsableDeStage,
Tuteur.
Dois-je me contenter de relations simples entre ces 3 champs ? N'est-ce pas
dangereux pour les données ? Genre : saisir un tuteur qui n'existe pas dans
les ContactEntreprise ?
Merci de votre aide et bon week-end à tous.
--
Pierre.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
db
Kolele a écrit :
Bonsoir à tous, [...] D'un tempérament laborieux, je suis habitué à n'utiliser que des intégrités référentielles entre les tables de mes applications (avec un champ de type NuméroAuto et clé primaire côté 1 de la relation). Là, Access me refuse l'intégrité entre CléContactEntreprise et les 2 champs ResponsableDeStage, Tuteur.
Bonsoir,
Dans la fenêtre de relations, vous pouvez ajouter un deuxième "exemplaire" de votre table ContactEntreprise, avec lequel vous allez pouvoir mettre en place votre deuxième intégrité référentielle. Et vous ne pourrez plus saisir un Responsable de stage, ni un tuteur qui n'existerai(en)t pas dans la table ContactEntreprise.
db
Kolele a écrit :
Bonsoir à tous,
[...]
D'un tempérament laborieux, je suis habitué à n'utiliser que des intégrités
référentielles entre les tables de mes applications (avec un champ de type
NuméroAuto et clé primaire côté 1 de la relation). Là, Access me refuse
l'intégrité entre CléContactEntreprise et les 2 champs ResponsableDeStage,
Tuteur.
Bonsoir,
Dans la fenêtre de relations, vous pouvez ajouter un deuxième
"exemplaire" de votre table ContactEntreprise, avec lequel vous allez
pouvoir mettre en place votre deuxième intégrité référentielle. Et vous
ne pourrez plus saisir un Responsable de stage, ni un tuteur qui
n'existerai(en)t pas dans la table ContactEntreprise.
Bonsoir à tous, [...] D'un tempérament laborieux, je suis habitué à n'utiliser que des intégrités référentielles entre les tables de mes applications (avec un champ de type NuméroAuto et clé primaire côté 1 de la relation). Là, Access me refuse l'intégrité entre CléContactEntreprise et les 2 champs ResponsableDeStage, Tuteur.
Bonsoir,
Dans la fenêtre de relations, vous pouvez ajouter un deuxième "exemplaire" de votre table ContactEntreprise, avec lequel vous allez pouvoir mettre en place votre deuxième intégrité référentielle. Et vous ne pourrez plus saisir un Responsable de stage, ni un tuteur qui n'existerai(en)t pas dans la table ContactEntreprise.
db
Kolele
Bonjour à db et à vous tous, Compris pour rattacher, dans la fenêtre Relations, le ResponsableDeStage de la table StageElève à un "deuxième exemplaire" de la table ContactEntreprise. L'intégrité référentielle est alors garantie. Et je fais pareil pour le Tuteur, avec un "troisième exemplaire". Mon objectif est de remplir la Table StageElève, en affectant à chaque élève une entreprise d'accueil (table Entreprise), un responsable de stage et un tuteur (Table ContactEntreprise). J'ai un formulaire qui puise le nom de l'élève, avec une zone de liste modifiable bien pratique. Et j'ai un sous-formulaire enchâssé dans le formulaire pour les données Entreprise. Ensuite, je cale. Chaque ligne du sous-formulaire doit contenir le Nom de l'entreprise (zone de liste qui sélectionne le NomEntreprise et stocke la CléEntreprise dans StageElève). Si je m'arrête là, la requête fonctionne. Après, quel champ de quelle table reliée comment à StageElève dois-je sélectionner pour obtenir mon ResponsableDeStage et mon Tuteur ? Ça fait trop de question à la fois, tout ça. Merci pour le coup de pouce. Nb : ma maîtrise de Access a fait un bond grâce aux conseils trouvés sur ce forum. -- Pierre.
Bonjour à db et à vous tous,
Compris pour rattacher, dans la fenêtre Relations, le ResponsableDeStage de
la table StageElève à un "deuxième exemplaire" de la table ContactEntreprise.
L'intégrité référentielle est alors garantie. Et je fais pareil pour le
Tuteur, avec un "troisième exemplaire".
Mon objectif est de remplir la Table StageElève, en affectant à chaque élève
une entreprise d'accueil (table Entreprise), un responsable de stage et un
tuteur (Table ContactEntreprise). J'ai un formulaire qui puise le nom de
l'élève, avec une zone de liste modifiable bien pratique. Et j'ai un
sous-formulaire enchâssé dans le formulaire pour les données Entreprise.
Ensuite, je cale. Chaque ligne du sous-formulaire doit contenir le Nom de
l'entreprise (zone de liste qui sélectionne le NomEntreprise et stocke la
CléEntreprise dans StageElève). Si je m'arrête là, la requête fonctionne.
Après, quel champ de quelle table reliée comment à StageElève dois-je
sélectionner pour obtenir mon ResponsableDeStage et mon Tuteur ? Ça fait trop
de question à la fois, tout ça.
Merci pour le coup de pouce.
Nb : ma maîtrise de Access a fait un bond grâce aux conseils trouvés sur ce
forum.
--
Pierre.
Bonjour à db et à vous tous, Compris pour rattacher, dans la fenêtre Relations, le ResponsableDeStage de la table StageElève à un "deuxième exemplaire" de la table ContactEntreprise. L'intégrité référentielle est alors garantie. Et je fais pareil pour le Tuteur, avec un "troisième exemplaire". Mon objectif est de remplir la Table StageElève, en affectant à chaque élève une entreprise d'accueil (table Entreprise), un responsable de stage et un tuteur (Table ContactEntreprise). J'ai un formulaire qui puise le nom de l'élève, avec une zone de liste modifiable bien pratique. Et j'ai un sous-formulaire enchâssé dans le formulaire pour les données Entreprise. Ensuite, je cale. Chaque ligne du sous-formulaire doit contenir le Nom de l'entreprise (zone de liste qui sélectionne le NomEntreprise et stocke la CléEntreprise dans StageElève). Si je m'arrête là, la requête fonctionne. Après, quel champ de quelle table reliée comment à StageElève dois-je sélectionner pour obtenir mon ResponsableDeStage et mon Tuteur ? Ça fait trop de question à la fois, tout ça. Merci pour le coup de pouce. Nb : ma maîtrise de Access a fait un bond grâce aux conseils trouvés sur ce forum. -- Pierre.
db
Kolele a écrit :
Bonjour à db et à vous tous, Compris pour rattacher, dans la fenêtre Relations, le ResponsableDeStage de la table StageElève à un "deuxième exemplaire" de la table ContactEntreprise. L'intégrité référentielle est alors garantie. Et je fais pareil pour le Tuteur, avec un "troisième exemplaire". Mon objectif est de remplir la Table StageElève, en affectant à chaque élève une entreprise d'accueil (table Entreprise), un responsable de stage et un tuteur (Table ContactEntreprise). J'ai un formulaire qui puise le nom de l'élève, avec une zone de liste modifiable bien pratique. Et j'ai un sous-formulaire enchâssé dans le formulaire pour les données Entreprise. Ensuite, je cale. Chaque ligne du sous-formulaire doit contenir le Nom de l'entreprise (zone de liste qui sélectionne le NomEntreprise et stocke la CléEntreprise dans StageElève). Si je m'arrête là, la requête fonctionne. Après, quel champ de quelle table reliée comment à StageElève dois-je sélectionner pour obtenir mon ResponsableDeStage et mon Tuteur ? Ça fait trop de question à la fois, tout ça.
Bonsoir,
Difficile de répondre sans connaître la structure de la base. Je suppose que votre table StageElève contient au moins 5 champs : idStage, idEleve, idEntreprise, idResponsable, idTuteur. Je suppose aussi que la même entreprise peut avoir plusieurs responsables de stage, plusieurs tuteurs. Le formulaire que vous évoquez doit donc se baser sur cette table StageElève. Et il n'y a pas de nécessité d'avoir un sous-formulaire : une liste déroulante pour les élèves, une liste déroulante pour les entreprises, une liste déroulante pour les responsables et une dernière pour les tuteurs. Les listes des responsables et de tuteurs seront filtrées en fonction de sélection de l'entreprise. Ou alors je n'ai pas tout compris ?
db
Kolele a écrit :
Bonjour à db et à vous tous,
Compris pour rattacher, dans la fenêtre Relations, le ResponsableDeStage de
la table StageElève à un "deuxième exemplaire" de la table ContactEntreprise.
L'intégrité référentielle est alors garantie. Et je fais pareil pour le
Tuteur, avec un "troisième exemplaire".
Mon objectif est de remplir la Table StageElève, en affectant à chaque élève
une entreprise d'accueil (table Entreprise), un responsable de stage et un
tuteur (Table ContactEntreprise). J'ai un formulaire qui puise le nom de
l'élève, avec une zone de liste modifiable bien pratique. Et j'ai un
sous-formulaire enchâssé dans le formulaire pour les données Entreprise.
Ensuite, je cale. Chaque ligne du sous-formulaire doit contenir le Nom de
l'entreprise (zone de liste qui sélectionne le NomEntreprise et stocke la
CléEntreprise dans StageElève). Si je m'arrête là, la requête fonctionne.
Après, quel champ de quelle table reliée comment à StageElève dois-je
sélectionner pour obtenir mon ResponsableDeStage et mon Tuteur ? Ça fait trop
de question à la fois, tout ça.
Bonsoir,
Difficile de répondre sans connaître la structure de la base. Je suppose
que votre table StageElève contient au moins 5 champs : idStage,
idEleve, idEntreprise, idResponsable, idTuteur. Je suppose aussi que la
même entreprise peut avoir plusieurs responsables de stage, plusieurs
tuteurs. Le formulaire que vous évoquez doit donc se baser sur cette
table StageElève. Et il n'y a pas de nécessité d'avoir un
sous-formulaire : une liste déroulante pour les élèves, une liste
déroulante pour les entreprises, une liste déroulante pour les
responsables et une dernière pour les tuteurs. Les listes des
responsables et de tuteurs seront filtrées en fonction de sélection de
l'entreprise.
Ou alors je n'ai pas tout compris ?
Bonjour à db et à vous tous, Compris pour rattacher, dans la fenêtre Relations, le ResponsableDeStage de la table StageElève à un "deuxième exemplaire" de la table ContactEntreprise. L'intégrité référentielle est alors garantie. Et je fais pareil pour le Tuteur, avec un "troisième exemplaire". Mon objectif est de remplir la Table StageElève, en affectant à chaque élève une entreprise d'accueil (table Entreprise), un responsable de stage et un tuteur (Table ContactEntreprise). J'ai un formulaire qui puise le nom de l'élève, avec une zone de liste modifiable bien pratique. Et j'ai un sous-formulaire enchâssé dans le formulaire pour les données Entreprise. Ensuite, je cale. Chaque ligne du sous-formulaire doit contenir le Nom de l'entreprise (zone de liste qui sélectionne le NomEntreprise et stocke la CléEntreprise dans StageElève). Si je m'arrête là, la requête fonctionne. Après, quel champ de quelle table reliée comment à StageElève dois-je sélectionner pour obtenir mon ResponsableDeStage et mon Tuteur ? Ça fait trop de question à la fois, tout ça.
Bonsoir,
Difficile de répondre sans connaître la structure de la base. Je suppose que votre table StageElève contient au moins 5 champs : idStage, idEleve, idEntreprise, idResponsable, idTuteur. Je suppose aussi que la même entreprise peut avoir plusieurs responsables de stage, plusieurs tuteurs. Le formulaire que vous évoquez doit donc se baser sur cette table StageElève. Et il n'y a pas de nécessité d'avoir un sous-formulaire : une liste déroulante pour les élèves, une liste déroulante pour les entreprises, une liste déroulante pour les responsables et une dernière pour les tuteurs. Les listes des responsables et de tuteurs seront filtrées en fonction de sélection de l'entreprise. Ou alors je n'ai pas tout compris ?
db
Kolele
Bonjour, Si si, c'est exactement ce que je veux. Rapide description de la structure. 4 tables sont en relation : la table Entreprise (idEntreprise, raison sociale), Elève (idEléve, NomPrénom), StageElève (idStageElève, idElève, idEntreprise, idResponsable et idTuteur) et la table ContactEntreprise (idContact, Nomprénom, coord, etc.). Relation 1 (table Entreprise, Elève) à plusieurs (StageElève) sur le champ idEntreprise, idElève. Relation 1 (Entreprise) à plusieurs (ContactEntreprise) sur le champ idEntreprise. Quelle relation entre ContactEntreprise et StageElève, sachant que StageElève a en amont une relation avec la table Entreprise, ayant elle même une relation avec ContactEntreprise ? J'ai beaucoup de mal à gérer le triolisme ! Les bases que je créé d'habitude ont une structure en "arête de poisson" : les relations 1-à-plusieurs vont dans le même sens. Ici, Entreprise est le côté 1 à la fois de StageElève et de ContactEntreprise, d'où mon impossibilité de penser une relation directe entre ces deux dernières tables.
Mon formulaire est basé sur une requête qui reprend les champs des tables StageElève, Elève, Entreprise, ContactEntreprise. Ensuite je remplace certains champs par des listes déroulantes. Par ex, une zone de liste modifiable qui reprend idElève, NomElève de la table Elève et stocke la valeur de idElève dans le champ idElève de StageElève. Mon souci : idResponsable et idTuteur (StageElève) doivent récupérer les valeurs de idContactEntreprise (ContactEntreprise) et afficher les noms de ces contacts dans le formulaire.
A noter, les relations avec le "deuxième" exemplaire d'une table (pour avoir l'intégrité référentielle), dans la fenêtre relations, disparaissent dès que je ferme la base. Merci de votre aide précieuse.
Bonjour,
Si si, c'est exactement ce que je veux. Rapide description de la structure.
4 tables sont en relation : la table Entreprise (idEntreprise, raison
sociale), Elève (idEléve, NomPrénom), StageElève (idStageElève, idElève,
idEntreprise, idResponsable et idTuteur) et la table ContactEntreprise
(idContact, Nomprénom, coord, etc.).
Relation 1 (table Entreprise, Elève) à plusieurs (StageElève) sur le champ
idEntreprise, idElève. Relation 1 (Entreprise) à plusieurs
(ContactEntreprise) sur le champ idEntreprise.
Quelle relation entre ContactEntreprise et StageElève, sachant que
StageElève a en amont une relation avec la table Entreprise, ayant elle même
une relation avec ContactEntreprise ? J'ai beaucoup de mal à gérer le
triolisme ! Les bases que je créé d'habitude ont une structure en "arête de
poisson" : les relations 1-à-plusieurs vont dans le même sens. Ici,
Entreprise est le côté 1 à la fois de StageElève et de ContactEntreprise,
d'où mon impossibilité de penser une relation directe entre ces deux
dernières tables.
Mon formulaire est basé sur une requête qui reprend les champs des tables
StageElève, Elève, Entreprise, ContactEntreprise. Ensuite je remplace
certains champs par des listes déroulantes. Par ex, une zone de liste
modifiable qui reprend idElève, NomElève de la table Elève et stocke la
valeur de idElève dans le champ idElève de StageElève.
Mon souci : idResponsable et idTuteur (StageElève) doivent récupérer les
valeurs de idContactEntreprise (ContactEntreprise) et afficher les noms de
ces contacts dans le formulaire.
A noter, les relations avec le "deuxième" exemplaire d'une table (pour avoir
l'intégrité référentielle), dans la fenêtre relations, disparaissent dès que
je ferme la base.
Merci de votre aide précieuse.
Bonjour, Si si, c'est exactement ce que je veux. Rapide description de la structure. 4 tables sont en relation : la table Entreprise (idEntreprise, raison sociale), Elève (idEléve, NomPrénom), StageElève (idStageElève, idElève, idEntreprise, idResponsable et idTuteur) et la table ContactEntreprise (idContact, Nomprénom, coord, etc.). Relation 1 (table Entreprise, Elève) à plusieurs (StageElève) sur le champ idEntreprise, idElève. Relation 1 (Entreprise) à plusieurs (ContactEntreprise) sur le champ idEntreprise. Quelle relation entre ContactEntreprise et StageElève, sachant que StageElève a en amont une relation avec la table Entreprise, ayant elle même une relation avec ContactEntreprise ? J'ai beaucoup de mal à gérer le triolisme ! Les bases que je créé d'habitude ont une structure en "arête de poisson" : les relations 1-à-plusieurs vont dans le même sens. Ici, Entreprise est le côté 1 à la fois de StageElève et de ContactEntreprise, d'où mon impossibilité de penser une relation directe entre ces deux dernières tables.
Mon formulaire est basé sur une requête qui reprend les champs des tables StageElève, Elève, Entreprise, ContactEntreprise. Ensuite je remplace certains champs par des listes déroulantes. Par ex, une zone de liste modifiable qui reprend idElève, NomElève de la table Elève et stocke la valeur de idElève dans le champ idElève de StageElève. Mon souci : idResponsable et idTuteur (StageElève) doivent récupérer les valeurs de idContactEntreprise (ContactEntreprise) et afficher les noms de ces contacts dans le formulaire.
A noter, les relations avec le "deuxième" exemplaire d'une table (pour avoir l'intégrité référentielle), dans la fenêtre relations, disparaissent dès que je ferme la base. Merci de votre aide précieuse.
Kolele
db : suivant vos conseils, je cherche maintenant à filtrer la liste déroulante des responsables de stage. Mais j'ai posté un autre sujet, intitulé "Filtrer une liste déroulante en fonction d'un autre contrôle du formulaire" -- Pierre.
db : suivant vos conseils, je cherche maintenant à filtrer la liste
déroulante des responsables de stage. Mais j'ai posté un autre sujet,
intitulé "Filtrer une liste déroulante en fonction d'un autre contrôle du
formulaire"
--
Pierre.
db : suivant vos conseils, je cherche maintenant à filtrer la liste déroulante des responsables de stage. Mais j'ai posté un autre sujet, intitulé "Filtrer une liste déroulante en fonction d'un autre contrôle du formulaire" -- Pierre.