Diese Antwort wurde automatisch übersetzt. Daher können grammatikalische Fehler oder seltsame Formulierungen vorkommen.
Hallo Volker,
Willkommen in der Microsoft Community.
Ich verstehe, dass Sie auf diesen Fehler stoßen Unzulässige SQL-Anweisung; Löschen, wählen Sie ... erwartet. wenn Sie Ihre SQL My Entschuldigungen für die Probleme verwenden.
Dies tritt in der Regel in Umgebungen wie Microsoft Access oder bei der Verwendung von ODBC-Treibern auf, die in bestimmten Kontexten nur bestimmte SQL-Anweisungen (z. B. Select Delete, Insert, Update, Procedure) erwarten. Im Folgenden finden Sie eine Aufschlüsselung, was das Problem verursachen könnte und wie es behoben werden kann:
- SQL-Syntax wird in Access nicht unterstützt
Wenn Sie SQL-Syntax verwenden, die in SQL Server, aber nicht in Access gültig ist (z. B. case-Anweisungen oder bestimmte Verknüpfungen), löst Access diesen Fehler aus.
Behebung: Vereinfachen Sie Ihre SQL, um sie an die Access SQL-Syntax anzupassen, oder verwenden Sie eine Pass-Through-Abfrage, wenn Sie SQL Server als Ziel verwenden.
- Fehlende oder falsch platzierte SQL-Schlüsselwörter
Manchmal ist der Fehler auf fehlerhaftes SQL zurückzuführen – fehlendes FROM, WEREoder falsche Verwendung von Klammern.
Fix: Überprüfen Sie Ihre SQL mithilfe von Tools
- Implizite Transaktionen oder Ausführungsmodus
Wenn Sie in einer Umgebung arbeiten, in der implizite Transaktionen aktiviert sind (z. B. SQL Server mit IMPLICIT_TRANSACTIONS ON), kann es zu Problemen führen, wenn kein Commit oder Rollback ausgeführt werden kann.
Behebung: Stellen Sie sicher, dass Sie Transaktionen explizit festschreiben oder zurücksetzen
- Falscher SQL-Kontext oder falsche Ausführungsmethode
Wenn Sie eine Select-Anweisung mit einer Methode oder Schnittstelle ausführen, die nur Aktionsabfragen akzeptiert (z. B. Delete, Insert oder Update), erhalten Sie diesen Fehler. In VBA mit con.Executesind z. B. nur Aktionsabfragen gültig.
Behebung: Verwenden Sie die richtige Methode für Auswahlabfragen, z. B. das Öffnen eines Ressourceneintragssatzes anstelle der direkten Ausführung:
Alles Gute
Sonntag | Microsoft Community Support-Spezialist