Hallo
habe deine SQL-Zeile in eine neue Abfrage kopiert und erhalte
die Aufforderung, die Tabelle anzugeben, in der gelöscht
werden soll.
Prüfe in diesem SQL-String, ob die Tabellen wirklich entspr. meiner Erklärung unten angegeben wurden.
Algemeiner Syntax (das Sternchen kann auch weggelassen werden):
Delete * from tblTabelleInDerGelöschtWerdenSoll
inner Join tblTabelleDieVerbundenWerdenSoll
on tblTabelleInDerGelöschtWerdenSoll.FeldNameZurVerknüpfung = tblTabelleDieVerbundenWerdenSoll.FeldNameZurVerknüpfung
Syntax entspr. den angegebenen Tabellen-/Feldnamen:
DELETE * FROM Basis
inner join [Tab-Reifen]
on Basis.[MARA-MATNR] = [Tab-Reifen].[MARA-MATNR]
Die Tabelle, in der gelöscht wird heißt „Basis“
Die Tabelle, die die Datensätze in „Basis“ bestimmt, heißt „Tab-Reifen“
Die Felder, die inhaltlich auf Gleichheit verglichen werden, heißen „MARA-MATNR“ (Gleicher Name in beiden Tabellen)
Wenn ich über den Assistenten komme und dann nach SQL wechsle,
erzeugt er mir
Was ist der Assistent? Meinst Du den Abfragentwurf?
die folgende SQL ist insofern unsinnig, als dass bei DELETE keine einzelnen Felder gelöscht werden können, sondern immer nur ganze Datensätze.
Sodann besteht die Abfrage aus einer Kreuztabelle(2 Tabellen in der From-Klauses) mit Kriterium, und nicht aus einem inner Join, was die Nicht-Aktualisierbarkeit auslöst.
Sodann ist „Like“ ein denkbar ungünstiger Vergleichsoperator.
DELETE Basis.*, Basis.[MARA-MATNR]
FROM Basis, [Tab-Reifen]
WHERE (((Basis.[MARA-MATNR]) Like [Tab-Reifen]![MARA-MATNR]));
In der Entwurfsansicht sehe ich beide Tabellen aufgerufen, die
Felder verknüpft und keine Bedingung.
und beim Auslösen die Nachricht „Operation muß eine
aktualisierbare Abfrage verwenden.“
Das Ersetzen des ! durch . ändert daran nichts, die Klammern
sind auch alle richtig.
Liegt es daran, daß ich Access97 verwende?
Nein. (zumindest glaube ich das nicht. A97 ist schon lange her…)
Sollte es tatsächlich in A97 keinen inner join für Delete geben, dann versuch:
Delete * from Basis where [Mara-Matnr] in (Select [Mara_Matnr] from [tab-Reifen])
Viele Grüße vom Bodensee
Franz, DF6GL