Supportnet / Forum / Datenbanken
SQL DELETE-Anweisung
Frage
Hallo,
irgendwas ist an diesem Code hier falsch. Warscheinlich alles aber ich find den Fehler nicht.
[code]
For v = 0 To [lst_locked].ItemsSelected.Count() - 1
temp = "DELETE FROM AMSIRPQ_LOCKED_CUSTOMER_COUNTRY WHERE COUNTRY_CODE=" + _
[lst_locked].Column(0, lst_locked.ItemsSelected(v)) + ",´" + _
COUNTRY = [lst_locked].Column(1, [lst_locked].ItemsSelected(v)) + "´,´" + _
Operator = [lst_locked].Column(2, [lst_locked].ItemsSelected(v))
DoCmd.RunSQL temp
Next v
[/code]
er meldet das es keine gültige SQL-Anweisung ist und das DELETE, UPDATE, INSERT oder SELECT erwartet wird.
Wär nett wenn jemand nen Tipp für mich hat
Danke
Lars
Antwort 1 von DeluxeStyle
was mir auffällt, dass du deinen SQL Befehl nicht mit " abschließt. vielleicht ist das ja das problem
Antwort 2 von metalfreakla
aber wenn ich das tue bekomm ich eine meldung mit "Anweisungsende erwartet" :/
Antwort 3 von erik
Dein Code generiert folgende Abfrage:
Hier sind die Anführungszeichen falsch gesetzt. Du darfst nur die Variable selbst in Anführungszeichen setzen, sofern deren Inhalt sich um Text handelt.
Richtig wäre:
Und das müsste damit gewährleistet sein:
DELETE FROM AMSIRPQ_LOCKED_CUSTOMER_COUNTRY WHERE COUNTRY_CODE=xxx,´COUNTRY=yyy´,´Operator=zzz´
Hier sind die Anführungszeichen falsch gesetzt. Du darfst nur die Variable selbst in Anführungszeichen setzen, sofern deren Inhalt sich um Text handelt.
Richtig wäre:
DELETE FROM AMSIRPQ_LOCKED_CUSTOMER_COUNTRY WHERE COUNTRY_CODE=xxx,COUNTRY=´yyy´,Operator=´zzz´
Und das müsste damit gewährleistet sein:
temp = "DELETE FROM AMSIRPQ_LOCKED_CUSTOMER_COUNTRY WHERE COUNTRY_CODE=" & [lst_locked].Column(0, lst_locked.ItemsSelected(v)) & "," & _
COUNTRY = ´" & [lst_locked].Column(1, [lst_locked].ItemsSelected(v)) & "´," & _
Operator = ´" & [lst_locked].Column(2, [lst_locked].ItemsSelected(v)) & "´;"
Antwort 4 von metalfreakla
dein code verursacht einen syntaxfehler. aber werde deinen tipp berücksichtigen und das versuchen umzusetzen. danke!!
Antwort 5 von erik
Abgesehen von den vom Supportnet verkorksten Hochkommas kann ich nichts finden. Die müssen natürlich durch normale Hochkommas ersetzt werden.
Im Übrigen solltest du die Bedingungen mit dem Schlüsselwort "AND" verbinden und kein Komma verwenden.
Im Übrigen solltest du die Bedingungen mit dem Schlüsselwort "AND" verbinden und kein Komma verwenden.
Antwort 6 von metalfreakla
ja das hatte ich schon umgesetzt in normale ´ allerding wenn ich das abschicke dann markiert er mir das erste ´ und meldet: Erwartet: Ausdruck
was auch immer er damit meint
was auch immer er damit meint
Antwort 7 von erik
Lass mal den Inhalt der temp-Variablen im Debug-Fenster ausgeben und stelle das Ergebnis bitte hier rein.
Antwort 8 von metalfreakla
hat sich geklärt habs hinbekommen ... danke dir trotzdem