PDA

Vollständige Version anzeigen : Löschabfrage über mehrere Tabellen


mille81
18.06.2012, 09:59
Hallo zusammen,

ich möchte mir eine Löschabfrage erstellen die Datensätze aus mehreren miteinander verknüpften Tabellen löscht. (Tabellen sind über eine eindeutige ID verknüpft)

Wie man im Screenshot sieht sind es einige....
Kriterium ist der Status = 6
Er zeigt mit aber schon als normale Abfrage nichts an. Führt die Abfrage zwar aus aber es sind keine Daten zu sehen.

Wie geht ich hier am Besten vor?

Atrus2711
18.06.2012, 10:05
Hi,

du erhältst nur die Schnittmenge aller Tabellen, und die auch nur für Status = 6. Sobald einer der beziehungsausmachenden Feldwerte nicht in allen Tabelle auftritt, bleibt dieser Satz draußen.

Eine Löschabfrage kann originär nur aus einer Tabelle löschen, d.h. sie kann allenfalls über Löschweitergaben Folgen auf andere Tabellen haben, aber nicht selbst mehrere Tabelen betreffen. Notfalls musst du diese Löschorgie auf mehrere Teile aufsplitten.

mille81
18.06.2012, 10:20
Also dann am Besten über eine Prozedur, die nach der ID filtert und dann in jeder Tabelle die betreffenden Datensätze löscht. z.B. mit CurrentDb.Execute DELETE FROM WHERE?

Atrus2711
18.06.2012, 10:31
Beispielsweise, ja.

Anne Berg
18.06.2012, 10:39
Hallo,d.h. sie kann allenfalls über Löschweitergaben Folgen auf andere Tabellen habendas ließe sich über die Tabellenbeziehungen einrichten.
Andernfalls musst du nach dem Löschen in tbl_veranst die "Witwen und Waisen" bereinigen. ;)

mille81
18.06.2012, 11:14
Also überall "löschweitergabe..." anhaken?
Habe ich gemacht...
Kommt aber folgende Fehlermeldung: Löschen aus angegebenen Tabellen nicht möglich.

Anne Berg
18.06.2012, 11:15
Du darfst dann nur noch die Stammtabelle in der Abfrage haben.

mille81
18.06.2012, 12:25
Geilo funzt!!!