2012-05-25 4 views
2

Deux champs, Bâtiment et Pièce, constituent une clé composite primaire unique dans ma table de pièces. La clé valide et enregistre, etc.Clé primaire composite en cascade

J'ai une table d'objets BLANK qui a trois champs qui la rendront unique (encore une clé primaire composite). Les tableaux sont les suivants:

ROOM TABLE 
[Building]  [Room] 
01    101A 
01    102 
02    101A 

OBJECT TABLE 
[Building]  [Room]  [Number] 
01    101A  1 
01    101A  2 
01    102  1 
02    101A  1 

Comment appliquer l'intégrité référentielle? Lors de la modification des relations dans l'outil de relation de MS Access, j'obtiens l'erreur suivante: No unique index found for the referenced field of the primary table. Je sais (en essayant des valeurs non uniques) que les clés composites de la table primaire (Object) sont correctes. Qu'est-ce que je fais mal? Comment puis-je établir les bonnes relations et maintenir l'intégrité (comme les mises à jour seront un défi exténuant sans eux)?

Répondre

3

Vous devez configurer votre clé comme ceci:

Composite key

Notez que la clé primaire de chambres est situé au bâtiment + Chambre et pour les objets est du bâtiment + chambre + Numb (numéro est un mot réservé AFAIR)

+2

Oh wow .... (vous avez également répondu à une question précédente, quelque peu liée aujourd'hui parce que je n'arrivais pas à faire fonctionner cette méthode). Il s'avère que la table "Related" est importante. Je traînais Bâtiment des objets aux pièces plutôt que des pièces aux objets. Cela a du sens .. mais il n'a pas cliqué avec moi que la table Rooms devrait être la table "primaire" à la place jusqu'à ce que j'ai vu votre capture d'écran. Résolu! – StuckAtWork