Hallo Henning,
Dabei habe ich jetzt 2 Tabellen:
KundenId, Vorname, Nachname <= Kunden-Tabelle
AusleihId, Buch_id, Kunden_id <= Tabelle mit den Ausleihen.
So wenn ich jetzt aus der Kunden-Tabelle einen Kunden lösche, möchte ich überprüfen, ob dieser auch alle Bücher zurückgegeben hat, sprich ob in der Ausleih-Tabelle noch ein Datensatz mit seiner Kunden_id vorhanden ist.
Das sollte kein großes Problem darstellen.
Also unser Lehrer (...) meinte, dass man dies mit Beziehungen & Referentieller Integrität lösen könnte.
Ja, kannst Du auch.
Ich bekomme es aber immer nur so hin, dass wenn ich unter Tabelle einen Kunden-Datensatz lösche, dass dann auch in der Ausleih-Tabelle die entsprechenden Datensätze gelöscht werden, allerdings möchte ich das ja genau anders rum haben, dass der Datensatz nur gelöscht werden kann, wenn die KundenId nicht mehr in der Ausleihe auftaucht.
Du hast beim Erstellen der Beziehung zwischen der Kunden- und Ausleihetabelle alle drei Kästchen angekreuzt. Da liegt der Fehler. Du darfst das Kästchen "Löschweitergabe an verwandte Datensätze" nicht ankreuzen.
Danach schlägt der Versuch, einen Kunden zu löschen, der noch Einträge in der Ausleihetabelle hat, fehl. Du erhältst die wie gefordert die Meldung, dass der Kunde nicht gelöscht werden kann, weil mit diesem Datensatz noch Daten in der Tabelle Ausleihe verknüpft sind.
P.S. Ich persönlich bin kein Freund von Access ;)
Es ist eine feine Sache, wenn ein DBMS referentielle Integrität unterstützt. Die Jet-Engine, das DBMS hinter Access, kann durchaus manches, wovon sich sogar DBMS-Server ein Scheibchen abschneiden können.
Freundliche Grüße
Vinzenz