Referentielle Integrität herstellen

starbug

Erfahrenes Mitglied
Hallo,

habe mal folgendes Problem. Ich arbeite mit Access und habe dort 2 Tabellen eine Mastertabelle und eine untergeordnete. Ich möchte nun eine Referentielle Integrität herstellen, was aber nicht geht da offenbar Daten in der Untertabelle existieren, die es in der Mastertabelle nicht gibt. Meine Frage ist nun kann ich mir irgendwie anzeigen lassen welcher Datensatz gegen die referentielle Integrität verstösst bzw. welchen Datensatz ich meiner Mastertabelle noch zufügen muss**** Es sind sehr viele Daten deshalb ist das schlecht von Hand zu machen.
 
Es gibt doch beim Abfrage-Assistent die Möglichkeit eine solche Abfrage zu erstellen!

Aber so in etwa sollte die Abfrage aussehen wenn du sie selber schreibst:

SQL:
SELECT Tabelle1.ID FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.ID = Tabelle2].ID
WHERE Tabelle2.ID Is Null

Als Ergebnis erhälst du die ID aller Datensätze die es in Tabelle2 nicht gibt. Du musst halt die Tabellen- und Feldnamen noch entsprechend anpassen!
 
Dann zeig mal die SQL-Anweisung deiner Abfrage und schreib dazu wie die Tabellen und die jeweiligen Felder der Tabele heißen!

NACHTRAG: Habe eben entdeckt das ich oben einen Schreibfehler drin habe.

SQL:
Tabelle1.ID = Tabelle2].ID

Da muss die schließende, eckige Klammer nach Tabelle2 weg, richtig wäre:

SQL:
Tabelle1.ID = Tabelle2.ID
 
Zuletzt bearbeitet:
Ja, Tabelle 1 wäre Master.

Code:
Tabelle1
ID | Feld1
01 | aaa
02 | bbb
03 | ccc
05 | eee
06 | fff
07 | ggg

Tabelle2
ID | Feld1
01 | 1-a
02 | 2-b
03 | 3-c
04 | 4-d
05 | 5-e
06 | 6-f

Liefert als Ergebnis die ID "07" der Tabelle1
 
Ja so hab ich das auch verstanden. Ich werde es morgen testen, hab jetzt Feierabend :-).

Danke schonmal für deine Antwort
 

Neue Beiträge

Zurück