PDA

Vollständige Version anzeigen : Laufzeitfehler 3709


roland-wolff
04.10.2002, 13:52
Hallo zusammen,

ich möchte in einer Function den Inhalt einer Tabelle löschen...


______________________________________
Public Function delete_Code() 'V2

Dim sql4 As Variant

'Löschen der Tabelle _Code
sql4 = "DELETE [_code].* FROM _code;"
DoCmd.RunSQL sql4

End Function
________________________________________

fast immer klappt das löschen aber manchmal erhlte ich folgende Meldung:

Laufzeitfehler:'3709'
Der Suchschlüssel wurde in keinem Datensatz gefunden.

HÄÄÄÄÄÄÄÄÄÄÄÄ? Welcher Suchschlüssel, ich habe doch kein where angegeben.
Kennnt jemand den Fehler???

Besten Dank für eure Hilfe

Grüße Roland

MarkusS
04.10.2002, 13:58
Hallo,
versuchs mal mit:
sql4 = "DELETE FROM _code"

unter der Voraussetzung, dass die Tabelle wirklich _code heißt.

roland-wolff
04.10.2002, 14:22
Funktioniert leider auch nicht :-(

An einer anderen Stelle brauche ich aber Variablen zur selektion, dort lautet der befehl:

________________________-

sql1 = "UPDATE _code SET code = Mid([code],1,InStr([code],chr(9))-1) WHERE InStr([code],chr(9)) > 0;"

DoCmd.RunSQL sql1
_____________________________

Dort bringt er die gleiche Fehlermeldung!!!!!!!!!!

Was soll ich nur tun????

Karlheinz
04.10.2002, 14:31
Hallo Roland,

Aktionsabfragen werden mit der Execute-Methode durchgeführt.

Beispiele dazu findest du in OH.

Gruß Karlheinz

roland-wolff
04.10.2002, 14:36
Die Funktion läuft ja fast immer, aber manchmal erhalte ich diese Felermeldung. Ich habe keinen blassen Schimmer warum!!!!

Wie kann mir da die Execute-Methode weiterhelfen???

Grüße Roland

Karlheinz
04.10.2002, 15:15
Hallo Roland,

Seit 1998 funktionierte bei mir die Execute-Methode bei allen Aktionsabfragen bisher immer fehlerfrei. Deshalb empfehle ich diese Methode.

Bei einer Fehlermeldung beim Austesten, wusste ich auch gleich daß ein Fehler im Sql-String vorlag.

Übrigens habe ACC97, DAO 3.51

Gruß Karlheinz