Löschweitergabe bei 1:1 Beziehung

15/11/2008 - 11:13 von Michael König | Report spam
Hallo zusammen,

folgende Situation (in A2000) stark vereinfacht:
2 Tabellen, Felder in Tabelle1: Id (Long nicht Autowert, aber
eindeutiger Primàrchlüssel), Nachname (Text), Vorname (Text), usw.
Felder in Tabelle2: Id (ebenso Long nicht Autowert, aber eindeutiger
Primàrchlüssel), Gehalt (Currency), usw.
1:1-Beziehung zwischen den beiden Tabellen über die beiden Id-Felder mit
referentieller Integritàt, Aktualisierungs- und Löschweitergabe, wobei
Verknüpfungstyp 3: "alle Datensàtze aus Tabelle1 und nur die aus
Tabelle2..." (es gibt noch Personen ohne Gehalt ;-) )
wie gesagt stark vereinfacht, in Wirklichkeit viel mehr Felder und nicht
jeder darf die Gehaltsdaten sehen, deshalb die Trennung in zwei
Tabellen. Eine Abfrage über beide Tabellen sieht z.B. so aus:
SELECT Tabelle1.*, Tabelle2.*
FROM Tabelle2 RIGHT JOIN Tabelle1 ON Tabelle2.Id = Tabelle1.Id;
Meine Absicht: Lösche einen Datensatz aus Tabelle1, dann soll der
zugehörige Datensatz aus Tabelle2 - sofern vorhanden -auch gelöscht
werden (Löschweitergabe), so wie bei 1:n Beziehungen. Leider klappt dies
nicht, was mache (oder denke) ich falsch?

Vielen Dank im voraus für Eure Hilfe und Gruß
Michael
 

Lesen sie die antworten

#1 Josef Poetzl
15/11/2008 - 11:55 | Warnen spam
Hallo!

Michael König schrieb:
folgende Situation (in A2000) stark vereinfacht:
2 Tabellen, Felder in Tabelle1: Id (Long nicht Autowert, aber
eindeutiger Primàrchlüssel), Nachname (Text), Vorname (Text), usw.
Felder in Tabelle2: Id (ebenso Long nicht Autowert, aber eindeutiger
Primàrchlüssel), Gehalt (Currency), usw.
1:1-Beziehung zwischen den beiden Tabellen über die beiden Id-Felder mit
referentieller Integritàt, Aktualisierungs- und Löschweitergabe, wobei
Verknüpfungstyp 3: "alle Datensàtze aus Tabelle1 und nur die aus
Tabelle2..." (es gibt noch Personen ohne Gehalt ;-) )



... das könnte eine falsche Verknüpfungsrichtung sein. Die Einstellung
des Verknüpfungstyp ist für die Tabellenbeziehung nicht relevant, es
kommt auf die Einstellung in der Beziehung an (PK/FK-Seite).
Verknüpfungstyp 3 zeigt nur, dass ein right join für die Abfragen
voreingestellt ist und somit wird die Beziehung vermutlich von Tab2
auf Tab1 und nicht von Tab1 auf Tab2 eingestellt sein.

Du hast derzeit vermutlich eine Löschweitergabe von Tab2 auf Tab1
eingestellt.

mfg
Josef

EPT: (Access Error Prevention Table) http://access.joposol.com/
FAQ: (Access-FAQ von Karl Donaubauer) http://www.donkarl.com/

Ähnliche fragen