<%Set RS = Conn.Execute("SELECT sum(klick) As tot From svar Where pollID="& PollId)
roster = RS("tot")
RS.Close
Set RS = nothing
Set RS = Conn.Execute("Select * From svar Where PollID = " & PollId &" Order By svarnr")
Do Until RS.EOF
stat = RS("klick")
proc = Round(stat/roster*100)
If stat <> 0 Then
res = (stat/roster) * BreddF / Storlek
Else
res = "0"
End If%>
Håller på att testa...
men om jag lägger in din kod ist. för proc = Round(stat/roster*100) så får jag fel: Object required: 'RS'
och om jag lägger den innan RS.close så får jag "overflow" igen...
Vad göra?
Min tanke var att du i din orginalkod bara flyttar in raden:
proc = Round(stat/roster*100)
innanför kollen av "stat" - innehåller den något så lär ju "roster" innehålla något och det är ok att köra din division.
Solbulle: nu har jag testat (orkade inte ladda upp en ny poll, så jag var tvungen att vänta tills en ny fråga aktiverades) - och det funkade med din kod. Tack!
Nu fattar jag...
Det såg ut att funka bra med Solbulles kod, men nu när det inkommit röster så ser jag att på dom alternativ som är "nollade" står det 100%.
Vad som saknas är alltså denna rad efter Else: proc = "0"
Engine: antar att man måste utgå från "stat" för att det ska bli rätt - för procenten ska skrivas ut för varje "stat"... eller nåt
Nja.. oavsett vad stat har för värde, så kan divisionen utföras. Problemet är väl att stat kan vara null.
Do Until RS.EOF
stat = ""
If Not IsNull(RS("klick")) Then stat = RS("klick")
If Not roster = 0 And Not stat = "" Then
proc = FormatPercent(stat / roster)
res = (stat / roster) * BreddF / storlek
Else
proc = 0
res = 0
End If
RS.MoveNext
%>
266 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849