Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Accesser11 am Februar 24, 2011, 14:14:29

Titel: Doppelte Einträge in Zwischentabelle verhindern
Beitrag von: Accesser11 am Februar 24, 2011, 14:14:29
Hallo zusammen

Wie kann ich bewerkstelligen, dass doppelte Einträge in einer Zwischentabelle verhindert werden.

Beispiel:
Tabellen: tblPerson, tblSprache, tblPersonSprache
Nun möchte ich das in der Zwischentabelle "tblPersonSprache" doppelte Einträge verhindert werden, so dass eine Person nicht mehrmals die gleiche Sprache eintragen kann.

Person|Sprache
1         |Deutsch
2         |Englisch
3         |Deutsch --> verhindern

Danke für die Antworten ;)

Accesser11
Titel: Re: Doppelte Einträge in Zwischentabelle verhindern
Beitrag von: DF6GL am Februar 24, 2011, 14:28:15
Hallo,

setz in der Tabelle einen eindeutigen Index über die beiden Felder "Person" und "Sprache"
Titel: Re: Doppelte Einträge in Zwischentabelle verhindern
Beitrag von: Accesser11 am Februar 24, 2011, 14:36:56
Hallo,

Das funktioniert irgendwie nicht ganz.

Dann kann eine Person ja nur eine Sprache und umgekehrt eine Sprache nur einmal vertreten sein. Es soll abgefangen werden, dass der Benutzer nicht zweimal die gleiche Sprache eingibt. Dies ist momentan möglich da der Primärschlüssel vom Typ AutoWert ist und deshalb der Datensatz als eindeutig behandelt wird.

Benutzer-->Deutsch
Benutzer-->Englisch
Benutzer-->Deutsch-->abfangen da bereits vorhanden.

Danke und Gruss
Accesser11
Titel: Re: Doppelte Einträge in Zwischentabelle verhindern
Beitrag von: MzKlMu am Februar 24, 2011, 15:22:29
Hallo,
Du musst für den zusammengesetzten Index beide Felder nehmen. Nur die Kombination ist dann eindeutig.

Hast Du in der Sprachtabelle auch einen Primärschlüssel? Wenn Nein, nachholen, wenn ja, erfolgt der zusammengesetzte Index über die ID Felder.