LLarsGMedlem sedan dec. 200012 464 inlägg Fältet med antalet stugor ska ligga efter loopen så att det bara förekommer en gång. Value skall inte vara rs("stugID") utan counter.
Som det är nu så kommer fältet stugID att skrivas en gång per loop.
sql = SQL =
Jag skrev fel där. Den första sql = skall tas bor.
connect.execute sql,,128
Jo, det går att skriva så. ,,128 innebär att man talar om för ADO att den frågan man ställer inte returnerar några poster och att det därför är onödigt att skapa ett recordset.
------------------
essentitia preter non sans multiplicandum
MMattiasMedlem sedan mars 2000205 inlägg Nu får jag följande felmeddelande:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
/webtester/bokning.asp, line 34
Rad 34 är Connection.Execute SQL,,128 på upptagarsidan. Har även testat Connection.Execute(SQL), men det gjorde såklart ingen skillnad. Relevant kod på upptagarsidan:
FOR i = 0 to Request.Form("counter")
stugID = Request.Form("stugID" & i)
v23 = Request.Form("v23_" & i)
v24 = Request.Form("v24_" & i)
v25 = Request.Form("v25_" & i)
v26 = Request.Form("v26_" & i)
v27 = Request.Form("v27_" & i)
v28 = Request.Form("v28_" & i)
v29 = Request.Form("v29_" & i)
v30 = Request.Form("v30_" & i)
v31 = Request.Form("v31_" & i)
v32 = Request.Form("v32_" & i)
v33 = Request.Form("v33_" & i)
v34 = Request.Form("v34_" & i)
v35 = Request.Form("v35_" & i)
SQL = "UPDATE tblStuginfo_1 SET v23 = " & v23 & ", v24 = " & v24 & ", v25 = " & v25 & ", v26 = " & v26 & ", v27 = " & v27 & ", v28 = " & v28 & ", v29 = " & v29 & ", v30 = " & v30 & ", v31 = " & v31 & ", v32 = " & v32 & ", v33 = " & v33 & ", v34 = " & v34 & ", v35 = " & v35 & " WHERE StugID = '" & stugID &"'"
Connection.Execute SQL,,128
------------------
// Mattias
LLarsGMedlem sedan dec. 200012 464 inlägg Hur ser sql-satsen ut? Om du lägger till
response.write "SQL: " & sql & "<br>"
innan du gör execute så får vi se.
------------------
essentitia preter non sans multiplicandum
LLarsGMedlem sedan dec. 200012 464 inlägg I och för sig så tror jag att jag förstår vad problemet är. Om en checkbox inte är ikryssad så blir värdet en tom sträng.
I så fall får du lägga till
v23 = Request.Form("v23_" & i)
if v23 = "" then v23 = "0"
eller
v23 = len(Request.Form("v23_" & i))
för alla veckor.
red: alternativ kodning.
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 27 sep 2001]
MMattiasMedlem sedan mars 2000205 inlägg Jippieee... Nu verkar det fungera! :)
LarsG, tack så mycket för din hjälp och ditt tålamod. Jag är väldigt tacksam! Med tanke på mina minst sagt begränsade ASP-kunskaper lär det ha tagit åtskilliga veckor att lösa detta utan din hjälp.
Självklart tackar jag även emission och jorgen för era bidrag!
------------------
// Mattias
LLarsGMedlem sedan dec. 200012 464 inlägg Så bra. Välkommen tillbaka.
------------------
essentitia preter non sans multiplicandum