22. maj 2002 - 15:31Der er
23 kommentarer og 1 løsning
Slet flere Rcords på en gang?
Jeg vil slette x antal records på een gang, men får følgende fejl...
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Driver] Syntax error (comma) in query expression '(id =8, 11)'.
Hvis jeg ikke må bruger komma, er der så en anden måde at gøre det på? Eller skal jeg lave en lykke der splitter med komma?
Danmark vil mindske afhængigheden af globale techgiganter, men det kræver mere end politiske formuleringer og strategier, understreger PROSA’s formand Niels Bertelsen.
-du kan kun slette én record ad gangen... ellers skulle du gøre sådan her:
arrSlet = Split(slet, ",") For i = Ubound(ArrSlet()) If Slet <> "" Then Forbindelse.Execute("Delete From Tagwall WHERE (id =" & ArrSlet(i) & ")") End if Next
Slet = Request.Querystring("slet_tagwall") SplitSlet = Split(Slet,",") For T = LBound(SplitSlet) to UBound(SplitSlet) Forbindelse.Execute("Delete From Tagwall WHERE (id =" & SplitSlet(T) & ")") Next
jepper: havde du ikke netop en komma-separeret liste af tal du ville slette? Så behøver du ikke dele dem op i flere, du kan nøjes med at bruge IN i stedet for at dele den op.
...Eller du prøvede den måske og den virkede ikke?
Jepper: det er nu mere fordi din funktion er lidt tosset at bruge - langt mere ressourcekrævende og uelegant - når nu access har en indbygget funktion til det.
Kan jeg så bruger variablen slet inde i IN ()'en? sådan her: Forbindelse.Execute("DELETE FROM Tagwall WHERE id IN ("& Slet &")") Det er namlig fordi jeg ikke kan få det til at virke på den måde...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.