Du borde använda update i det fallet, eftersom du vill uppdatera en rad som redan finns. Insert används bara när man vill lägga till nya rader. Dessutom borde du ange vilka kolumner som ska uppdateras, och vilka värden de ska uppdateras med.
Hittar inte ett enda rätt ;)
Vad vill du göra egentligen?
Antingen vill du uppdatera ett värde där userID = ditt_ID
eller vill du sätta in ett nytt värde userID?
' skapar ny post
INSERT INTO tbl (col1, col2) VALUES('value1', numericvalue2)
' uppdaterar
UPDATE tbl SET col1 = 'värde', col2 = numVärde WHERE userID = ditt_ID
var visst inte riktigt klar med frågan, jag har en updatesats för rösningen, men med koden vill jag även spara data i en annan tabell så att ingen kan rösta 2 gånger på samma, och i den här måste jag ha insert för att få en lista på ALLA som har röstat
jag har nu
SQL = "update tblUsers_skrivklada set rostvarde=rostvarde+"& varRoster &", antal=antal+1 where userID=" & request("userID")
SQL1 = "INSERT INTO tblUsers_skrivklada_checkRostning"
SQL1 = SQL1 & "(userID,IP,From) "
SQL1 = SQL1 & "VALUES('"& varUserID &"','"& IP &"','"& varFrom &"')"
Där har du närmat dig en fungerande lösning. Men tänk efter nu vilka datatyper du har. Är verkligen userID ett strängvärde? Det förefaller mig mer sannolikt att det är ett heltal. Då ska du inte ha apostrofer runt värdet.
Det ser ju riktigt ut, förutsatt att kolumnen "From" är numerisk. Har du någon form av kommandorad där du kan köra sql-satserna, och få databashanteraren att tala om var syntaxfelet är? I Oracle finns tex Sql+, som jag ofta har använt mig av för att undersöka syntaxfel. Även MySQL har jag för mig ska gå att köra från kommandoraden.
Nu ser jag något som jag är osäker på om det beror på skärmen eller något annat. Eventuellt saknar du ett mellanslag i insert-satsen. Frågan är om du har ett mellanslag här: SQL1 = SQL1 & "(userID,IP,From) "
eller om det står SQL1 = SQL1 & " (userID,IP,From) "
Det är den andra varianten som är rätt. Med den första varianten får du följande sql-sats:
INSERT INTO tblUsers_skrivklada_checkRostning(userID,IP,From) VALUES(varUserID,'IP',varFrom)
SQL1 = SQL1 & " (userID,IP,From) " gör ingen skillnad och jag kör med access som databas
Vid utskrift får jag
INSERT INTO INSERT INTO tblUsers_skrivklada_checkRostning (userID,IP,From) VALUES(15,'10.9.0.2',1)update tblUsers_skrivklada set rostvarde=rostvarde+5, antal=antal+1 where userID=15
, här ser allt rätt ut, men ändå får jag syntaxfel när jag ska köra SQL1