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?
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
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'.
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.
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