|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
Bonjour,
Comment créer une relation "un-à-un" entre deux tables sous Access sans passer par deux clé primaires. C'est à dire créer une relation "un-à-un" entre clé étrangère. Merci |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Pas moyen.
Seules les clés primaires le permettent. En effet, seules les clés primaire garantissent qu'il n'y aura qu'un seul enregistrement. Quel motif te pousse à avoir une relation de un à un entre deux tables ?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
et bien,
ma BDD représente une "école", chaque étudiant est associé à une seule classe. Il faut que je choisisse un représentant pour chaque classe. je n'arrive pas a relier ma table "Representant" avec ma table "Classe" |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Tu n'aurais donc qu'un seul étudiant par classe ?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
et bien non c'est là le problème.
Mon but est de créer une table "Classe" regroupant les étudiants (clé primaire) et leur classe (ils ne peuvent appartenir qu'à une seule). une seconde table "Représentant" ou nous avons chaque classe ainsi que "son étudiant représentant". (l'étudiant doit appartenir a la classe) voila ce que j'aimerai obtenir le problème c'est que "classe" de "Etudiant" est en clé primaire donc un étudiant peut avoir 2 classes
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
C'est bien ce que je pensais.
tu as besoin d'une table avec les classes. Facile tbl_Classe Id_Classe -> AutoNumber -> Clé primaire Classe Une table étudiant Id_Etudiant -> AutoNumber -> Clé primaire Id_Classe -> Numérique Nom -> Texte Prenom -> Texte Representant -> Booleen Le lien devra se faire entre les deux Id_Classe.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
J'avais justement pensé à cette solution. Le seul problème c'est que par classe je pourrais avoir 2 étudiants différents qui la représente hors il ne m'en faut qu'un.
|
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
On peut régler ce détail avec une requête.
Par contre, c'est plus facile à gérer, un étudiant qui change de classe est plus facile à suivre. Si il est représentant, il suffit lors du changement de classe Id de mettre le champ à blanc. Pour la requête de contrôle, on prend tous les champs de la table qui sont à Vrai et on fait une somme sur la classe. Si tu as une somme supérieure à 1, c'est que tu as un souci.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
si je comprends bien il ne faut pas régler ce problème avec les relations mais plutôt créer une requête de contrôle.
ma question est la suivante, comment implémenter une requête de contrôle et l'assigner à un attribut de ma table "Etudiant". C'est tout de même bizar qu'il n'y est pas de solution au travers des relations pour un problème aussi simple. Ma table "Représentant" n'est en fin de compte qu'une "sous table" de ma table "Classe". |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
si, on peut le régler avec des relations, mais quand il y a plus simple !
Avec une requête de contrôle, on peut aussi détecter les classes sans représentant. Pour la requête, utilise le QBE.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
comment puis je faire avec des relation ?
qu'est ce que QBE ? et les requête de contrôle ? je viens de tomber sur un pdf où l'on parle de dépendances d'exclusion et d'inclusions. Mon problème ne serait il pas un problème d'inclusion ? |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Le QBE est l'interface qui permet de faire de requêtes en mode graphique.
Pour le faire avec des relations, il faut une table supplémentaire.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
Pourrais tu me montrer ou m'expliquer, même rapidement, comment puis-je créer une table tout en respectant mes conditions s'il te plait.
voici un exemple tout bête que j'ai fait. Merci |
|
|
00
|
|
|
#14 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Voilà
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
merci beaucoup,
Mais il y a un problème au niveau de la conception, nous pouvons par exemple un étudiant en représentant d'un classe alors qu'il n'appartient pas à celle-ci. |
|
|
00
|
|
|
#16 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
exact, c'est pour cette raison que je préfère la structure à deux tables.
On pourrais aussi envisager d'avoir un champ en plus dans la table classe pour le représentant. Le problème sera toujours le même si un étudiant change de classe.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
d'accord mais comment puis-je régler mon problème avec deux tables ? Est-ce en passant par des "requêtes contrôles" ? si oui comment puis-je les utiliser.
Je suis novice encore avec Access désolé, mais merci tout de même de m'aider |
|
|
00
|
|
|
#18 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Voila
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 11 ![]() |
Merci bien,
Je ne pense pas que ceci soit bien adapté pour mon schéma relationnel en vu des consignes qui me sont demandés. Mais je vais m'appuyer sur ceci pour continuer. Mais cela m'étonne qu'Access ne propose pas une méthode pour faire des dépendances d'inclusions et d'exclusions. |
|
|
00
|
|
|
#20 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Tu dois la faire si tu la veux.
Avec le VBA, tu peux tout faire.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com