Om du använder executemetoden så blir ditt recordset readonly.
Du måste använda open och ange lämplig cursortyp 3 eller något och sedan anropa recset.update
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/priser.mdb"))
Connect.Execute "update priser set summa = 1.5*summa",,128
tycker jag är enklare
------------------ essentitia preter non sans multiplicandum
Tyvärr har ju då problemet sen två dagar sedan tillbaks ändrats så att jag får göra en speciallösning som verkar fungera bättre med din andra lösning..
jag skall nämligen inte lägga 1,25 på varje, utan pålägget skall vara parallellt med en slags lista vi har.. (t.ex 1,17, 1,20, 1,25, 1,30 osv)
kolla koden här så förstår du. Har du förslag på ändringar?
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/priser.mdb"))
Set strRec = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT pris FROM priswebsverige"
strRec.Open strSQL, Conn, adOpenStatic, adLockOptimistic
do until strRec.EOF
If strRec("pris") <= 50 Then
addOn = 2.50
ElseIf strRec("pris") >= 51 AND strRec("pris") <= 100 Then
addOn = 1.80
ElseIf strRec("pris") >= 101 AND strRec("pris") <= 200 Then
addOn = 1.60
ElseIf strRec("pris") >= 201 AND strRec("pris") <= 500 Then
addOn = 1.25
ElseIf strRec("pris") >= 501 AND strRec("pris") <= 2000 Then
addOn = 1.20
ElseIf strRec("pris") >= 2001 AND strRec("pris") <= 10000 Then
addOn = 1.17
ElseIf strRec("pris") >= 10001 AND strRec("pris") <= 20000 Then
addOn = 1.15
ElseIf strRec("pris") >= 20001 AND strRec("pris") <= 2000 Then
addOn = 1.10
End If
strRec("pris") = round(strRec("pris")*addOn,0)
response.write strRec("pris") & "<br>"
strRec.Update
strRec.movenext
loop
------------------
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence
Prestanda mässigt vet jag inte riktigt hur stor skillnad det är, mer än att det blir mindre och lättbegripligare kod. Plus att det korrekta sättet ett göra det på rent programmeringsmässigt är med en Select Case har jag fått lära mig här på wF. :e
mvh Jörgen
------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***
Select Case strRec("pris")
Case <= 50
addOn = 2.50
Case >= 51 AND strRec <= 100
addOn = 1.80
Case >= 101 AND strRec("pris") <= 200
addOn = 1.60
Case >= 201 AND strRec("pris") <= 500
addOn = 1.25
Case >= 501 AND strRec("pris") <= 2000
addOn = 1.20
Case >= 2001 AND strRec("pris") <= 10000
addOn = 1.17
Case >= 10001 AND strRec("pris") <= 20000
addOn = 1.15
Case >= 20001
addOn = 1.10
End Select
------------------
I have comed to take what is rightfully mine. Existence in eternity. And all i need is your creditcard number. | Existence