Seite 1 von 1
[SQL] DELETE in mehreren, verknüpften Tabellen
Verfasst: 04.12.2007 15:15
von Fluid Byte
Ich benutze momentan MS Acess 2007 und habe von der
SQL-Seite folgendes Snippet:
Wenn ich dann in meiner Datenbank so eine Abfrage schreibe bekomme ich die Fehlermeldung:
Geben Sie die Tabelle an, die die zu löschenden Datensätze enthält.
Was mache ich verkehrt?
Verfasst: 04.12.2007 15:48
von bobobo
1. Fehler - Du benutzt MYSQL-SQL-Systax in Access2007-Tabellen

2. Fehler - Du benutzt ACCESS2007 (böse böse

) !!
3. ALLERDINGS . Der Vorteil von Access besteht in der mehr oder weniger
automatischen interaktiven SQL-Befehlssequenzerstellung welche mir
sowas wie folgt nahezu von selber erstellt hat.
Code: Alles auswählen
DELETE Tabelle1.*, Tabelle2.*
FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.id = Tabelle2.ID
WHERE (((Tabelle1.id)=[Tabelle2].[id]));
getest mit Access2K ..
Verfasst: 04.12.2007 16:15
von Fluid Byte
Löschen aus angegebenen Tabellen nicht möglich.
* abkotz *
Ich denke aber ich weiß was die Ursache dafür ist. Allerdings befürchte ich das ich das absolut nicht verständlich erklären kann. Nur so viel; Es sind insgesamt 3 Tabellen die sich alle aufeinander beziehen. Die Vergleichs-ID in Tabelle #1 ist einmalig, keine Dublikate derselben ID. Diese ID aus Tabelle #1 gibt es auch in Tabelle #2. Der Unterschied ist das in Tabelle #2 die ID mehrere Werte haben kann und somit öfters als einmal vorkommt.
Verfasst: 04.12.2007 17:02
von bobobo
in access müssen für sowas mehrere Tabellen anständig verJOINt werden.
eine Kommaverknüpfung reicht da scheinbar nicht.
obiger Code geht .. es werden alle aus Tab1 und Tab2 gelöscht deren IDs identisch sind