---
title: "Problem med delete med checkboxar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/89960-problem-med-delete-med-checkboxar"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "bigsky"
published: "2003-11-08T23:25:41.000Z"
updated: "2003-11-11T18:16:36.000Z"
replies: 10
views: 351
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/89960-problem-med-delete-med-checkboxar"
---

# Problem med delete med checkboxar

## #1 — bigsky, 2003-11-08T23:25Z

Jag skriver ut poster från databasen på en sida bla. för att kunna lägga till, modifiera och ta bort poster från databasen. Vid varje post skriver jag ut en checkbox som när den är markerad och man klickar på radera betyder att den/de posten/erna ska raderas. Det är med andra ord ungefär som MSN har på Hotmail där man kan välja vilka brev man vill radera för att sedan göra detta genom att klicka på Ta bort.
I Value för varje post skriver jag ut vilket id posten har i databasen. Problemet är att om man har valt flera poster så fattar inte koden på ta bort-sidan vilken/vilka poster man menar. Får följande felmeddelande:

> Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 
> 
> \[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel (komma) i frågeuttrycket 'Id = 30, 29'.

Någon som har ett förslag på vad jag ska skriva i koden på ta bort-sidan? Någon sorts Loop kanske?

Permalänk: https://www.webforum.nu/p/89960

## #2 — Mog, 2003-11-08T23:37Z

Prova med 

```
id=30 AND id=29
```

Permalänk: https://www.webforum.nu/p/1202840

## #3 — LarsG, 2003-11-08T23:44Z

```
sql = "delete from t where id in (" & checkBoxName & ")"
```

Permalänk: https://www.webforum.nu/p/1202844

## #4 — bigsky, 2003-11-09T20:41Z

Det funkar inte, om jag markerat flera boxar försvinner bara en post itaget då jag försöker ta bort flera poster. Och om jag försöker redigera en post så uppdateras den med värdena från alla andra poster också. Man skulle ju i loopen som skriver ut posterna kunna göra ett formulär till varje post, men då försvinner ju liksom hela syftet med att ha en "markera alla" funktion.

Uppdatera koden:

> Set rsUpdateIp = ConnectToSurvey.Execute("UPDATE detector SET Ip = '" & strIp & "' WHERE Id IN (" & checkBoxName & ") ")
> Set rsUpdateIp = Nothing

Ta bort koden:

> Set rsRemoveIp = Server.CreateObject("ADODB.Recordset")
> SQL = "SELECT detector.\* FROM detector WHERE Id IN (" & checkBoxName & ") "
> rsRemoveIp.Open SQL, ConnectToSurvey, 2, 3
> rsRemoveIp.Delete
> rsRemoveIp.Close
> Set rsRemoveIp = Nothing

Permalänk: https://www.webforum.nu/p/1203145

## #5 — LarsG, 2003-11-09T21:12Z

Du behöver ingen recordset när du gör delete. Det räcker med 

```
ConnectToSurvey.execute "delete FROM detector WHERE Id IN (" & checkBoxName & ") " ,,128
```

I updatefallet så är det enklast att göra en loop, ung.

```
for i = 0 to ipFieldName.count - 1
    ConnectToSurvey.execute  "UPDATE detector SET Ip = '" & ipFieldName(i) & "' WHERE Id = " & checkBoxName(i) 
next
```

Det går att skriva ett komplext updateuttryck med hjälp av case expression/iif

Permalänk: https://www.webforum.nu/p/1203158

## #6 — bigsky, 2003-11-09T21:22Z

Är den koden för updatefallet komplett? Får ett felmeddelande som säger att ett objekt är nödvändigt.

Permalänk: https://www.webforum.nu/p/1203169

## #7 — LarsG, 2003-11-09T21:33Z

Ok, det behövs väl lite request och sådant också. 

```
for i = 0 to request("ipFieldName").count - 1
```

Permalänk: https://www.webforum.nu/p/1203172

## #8 — bigsky, 2003-11-09T21:59Z

Med

```
For i = 0 to Request.Form("ip").Count - 1
ConnectToSurvey.Execute "UPDATE detector SET Ip = '" & Request.Form("ip"), (i) & "' WHERE Id = " & Request.Form("checkme"), (i)
Next
```

Får jag följande fel:

> Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
> \[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel i sträng i frågeuttrycket ''119.27.127.939, 127.0.0.1'.

Permalänk: https://www.webforum.nu/p/1203183

## #9 — bigsky, 2003-11-09T22:37Z

Någon som m.h.a denna länk <http://www.aspsidan.nu/default.asp?page=readArticle&menu=2&aId=48> kan sätta ihop något som skulle funka när man vill REDIGERA flera poster samtidigt, inte ta bort dem. Hela grejen är att jag vill kunna ändra flera fält samtidigt och sedan uppdatera databasen genom att bara behöva klicka på en uppdatera knapp, istället för att ändra varje fält och uppdatera med en knapp. Ändra ett fält till och uppdatera med en knapp.

Permalänk: https://www.webforum.nu/p/1203197

## #10 — bigsky, 2003-11-10T21:08Z

> Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 
> \[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel i sträng i frågeuttrycket ''127.0.0.11'.

```
For i = 0 to Request.Form("ip").Count - 1
ConnectToSurvey.Execute "UPDATE detector SET Ip = '" & Request.Form("ip"),(i) & "' WHERE Id IN (" & checkBoxName & "),(i) "
Next
```

Någon som kan hjälpa?

Permalänk: https://www.webforum.nu/p/1203660

## #11 — bigsky, 2003-11-11T18:16Z

Jaja, får lösa det på annat sätt då. Möjligtvis genom att ta bort redigera funktionen.

Permalänk: https://www.webforum.nu/p/1204085

---

Tråden på webben: https://www.webforum.nu/amne/asp/89960-problem-med-delete-med-checkboxar
