Joerg Andreas: Ausführen einer Löschabfrage in Access

Beitrag lesen

Grüzi miteinand,

Servus Kiska Kogtistaya

Löschabfrage mit 2 Tabellen
A=Tabelle mit zu löschenden Werten
B=Tabelle für Bedingung, verknüpft mit MySQL über ODBC.

Ich gehe davon aus, dass in A alles gelöscht werden soll, was NICHT in B steht.

Die Tabellen stehen in keiner festen Beziehung. Der Key von A entspricht einem Feld in B.

Wie jetzt ? Das ist doch eine Beziehung.

Die Löschabfrage zeigt in der Vorschau die gewünschten
Sätze, aber bei Ausführung kommt die Fehlermeldung
"Aus der angebenen Tabellen kann nicht gelöscht werden".

Genauer bitte...

Lasse ich die Tabelle B weg, löscht die Abrage problemlos
alle Sätze (plötzlich kann doch gelöscht werden !!)

Logisch, lies' mal hierzu das Posting von Herrn Bigge. Delete * geht immer.

Gute Ideen Vorschläge ?

Probier mal folgenden Syntax - wie gesagt, ich lösche alle A, die nicht in B stehen:

DELETE * FROM A
WHERE A.key NOT IN (SELECT key FROM B);

Es kann durchaus sein, dass hier anstatt * die einzelnen Spaltennamen angegeben werden müssen. Wie sich Access und MySQL vertragen, weiß ich leider nicht. Mit MS SQL und Access geht's.

Viel Erfolg, Jörg

Danke

Kiska Kogtistaya