webForumDet fria alternativet

Delete problem

Databaser & SQL

4 svar · 179 visningar · startad av matthew

Medlem sedan okt. 2001166 inlägg
Frågan#1

Hej!

Jag har ett problem med access.

Så här ser min kod ut->
sql ="delete news where idNews=" & id & ""
Set rsDMI = connection.Execute(sql)

jag har också provat så här->
'sqlDeleteMessagesInbox = "DELETE news WHERE idNews = '" & id & "' "

Fel medelandet->
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'news where idUserU=1'.

Samma kod funkar när jag kör Microsoft sql Server

Nån som vet ?

//Matt

Medlem sedan dec. 200012 464 inlägg
#2

Välkommen till webForum

Om du använder

sql ="delete from news where idNews=" & id

Det är SQL server som avviker från standard.

Välkommen åter

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 13 okt 2001]

Medlem sedan okt. 2001166 inlägg
#3

Yes, nu funkar det !!

Jag höll på att bli galen, ett simpelt problem. Det var dock över 2 år sedan jag använde access.

Tack så mycket för hjälpen

//matt

Medlem sedan okt. 2001166 inlägg
#4

Ett nytt problem uppstod när jag ska deleta flera poster samtidigt.

Så här ser strängen ut->
sql = "DELETE from news where " & delStr

Så här när jag skriver ut sql->
DELETE from news where idNews=23 and idNews=32 and idNews=30

Set rsDMI = connection.Execute(sql)

När jag bara tar port en post så funkar det men inte när flera tas bort.
Får inget fel medelande!!

Medlem sedan dec. 200012 464 inlägg
#5

Borde du inte ha or mellan villkoren?

Om du utför en delete eller något annat som inte returnerar poster så kan du skriva

connection.Execute sql

------------------
essentitia preter non sans multiplicandum

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)