# Access 2000: Problem mit m:n Beziehung



## Janie Bon Jersey (26. März 2004)

Hallo, vielleicht kann mir hier jemand weiterhelfen und einen Tipp geben. Ich habe folgendes Problem:

Ich bin mir zur Zeit in Access 2000 eine Medien-Datenbank am erstellen. Dabei handelt es sich um eine Datenbank, mit der ich alle meine CD's, sowie die darauf enthaltenen Lieder erfassen möchte.

Zu diesem Zweck habe ich 3 Tabellen angelegt. In der Tabelle "CD's" wird der Titel der jeweiligen CD gespeichert. In der Tabelle "Songs" werden alle Lieder erfasst. Die beiden Tabellen habe ich über eine m:n Beziehung miteinander verknüpft (Verknüpfungstabelle "Songdetails"), da ein Lied ja auf mehreren CD's vorkommen kann (Studio-Album, Live-CD etc), umkehrt aber auch eine CD mehrere Lieder enthält. Orientiert habe ich mich bei der Erstellung der Beziehung an der Beispieldatenbank Nordwind, wo die Tabellen "Bestellungen" und "Artikel" über die Verknüpfungstabelle "Bestelldetails" verbunden sind (m:n Beziehungen). Es hat auch alles einwandfrei funktioniert. 

Auf ein Problem bin ich jedoch gestoßen, als ein und dasselbe Lied mehrmals auf einer CD enthalten war (Live-Aufnahmen von verschiedenen Konzerten). Als ich das Lied zum zweiten Mal für die gleiche CD erfassen wollte, wurde mir folgende Fehlermeldung angezeigt: 
"Die von Ihnen vorgenommenen Änderungen an der Tabelle konnten nicht vorgenommen werden, da der Index, Primärschlüssel oder die Beziehung mehrfach vorkommende Elemente enthalten würde. Ändern Sie die Daten in den Feldern, die gleiche Daten enthalten, entfernen Sie den Index, oder definieren Sie den Index neu, damit doppelte Einträge möglich sind, und versuchen Sie es erneut". 
Die selbe Fehlermeldung erscheint auch bei der Beispieldatenbank Nordwind, wenn man in dem Formular "Bestellungen" unter Artikel mehrmals den gleichen Artikel auswählt. Das Problem an sich ist mir auch logisch, ich weiß aber nicht wie ich es umgehen kann. Die Lösung der Beispieldatenbank Nordwind kann ich nicht übernehmen, d.h. ein Feld "Anzahl" einfügen um zu erfassen wie oft ein und das selbe Lied auf einer CD vorkommt. Das hilft mir nicht weiter, da ich zu den einelnen Lieder jeweils noch mehrere Informationen speichern möchte (Aufnahmeort, Aufnahmedatum, Besonderheiten etc.). Wenn zum Beispiel ein Lied bei 3 verschiedenen Konzerten aufgenommen wurde (alle auf einer CD enthalten), und ich diese Informationen speichern will, dann hilft mir ein Feld "Anzahl" wie bei der Beispieldatenbank beim Formular "Bestellungen - Artikel" nicht weiter. Kann man dieses Problem über die Definition von weiteren Beziehungen lösen? Welche Beziehungen müsste ich dafür noch definieren? 

Wie oben bereits erwähnt, die m:n Beziehung zwischen den Tabellen "CD's" und "Songs" funktioniert einwandfrei, Probleme treten nur auf, wenn man eine CD sozusagen mehrmals einem Lied zuweisen möchte.  Weiß jemand wie ich das hinbekommen kann?

Gruß, Janie Bon Jersey


----------



## danube (27. März 2004)

Wieviel Felder hast du in der Tabelle Songdetails, 2 oder 3?


----------



## Thomas Lindner (27. März 2004)

Probieren...

Ich würde in den Feldeigenschaften einfach Duplikate zulassen, dazu darf es aber nur ein Index nicht ein primärer Schlüssel sein.


----------



## Janie Bon Jersey (27. März 2004)

Danke für Eure Hilfe!

Ich hab' inzwischen eine Lösung für mein Problem gefunden. 
Ursprünglich hatte ich in der Verknüpfungstabelle 2 Primärschlüssel festgelegt, nämlich für die Felder, die mit der Tabelle "CD's" und der Tabelle "Songs" verknüpft waren. Die Verknüpungstabelle "Songdetails" hatte keinen eigenen Primärschlüssel. Jetzt habe ich einfach in der Verknüpfungstabelle einen eigenen Primärschlüssel festgelegt, anstatt hier die Primärschlüssel der Tabellen "CD's" und "Songs" zu verwenden, jetzt funktioniert alles einwandfrei!  Jetzt kann ich auch einer CD mehrmals den gleichen Song zuweisen. Manchmal ist die Lösung so einfach und so logisch, nur man kommt einfach nicht drauf.  

Gruß, Janie Bon Jersey

P.S. Ich hänge mal zwei Grafiken mit an, da kann man dann genau sehen, welche Änderung zur Lösung des Problems führte. Hier die Ursprungsversion meiner Beziehungen:


----------



## Janie Bon Jersey (27. März 2004)

Hier jetzt die neu definierten Beziehungen. Ich habe in der Verknüpungstabelle "Songdetails" das Feld "ID_Songdetails" neu eingefügt und als Primärschlüssel festgelegt. Die Felder "ID_Audio" und "ID_Songs" sind weiterhin mit den Tabellen "Audio" und  "Songs" verknüpft, jedoch nicht mehr als Primärschlüssel festgelegt.


----------

