Det betyder att b11 = 0 och man kan inte dela ett tal med noll.
T.ex
42/0, hur många ggr går 0 in i 42? Jo oändligt. Du kan alltså inte dela ett tal med 0.
9 svar · 346 visningar · startad av Greven
Vad är fel med nedanstående kod? (funkar fin fint lokalt, men på hotellet blir det knas)
<%
Dim A11, B11
A11 = Rs("plac")
B11 = objrs11("antal")
p11 =Round((a11)/(b11)*100,0)
%>
Fel msg:
Microsoft VBScript runtime error '800a000b'
Division by zero
Det betyder att b11 = 0 och man kan inte dela ett tal med noll.
T.ex
42/0, hur många ggr går 0 in i 42? Jo oändligt. Du kan alltså inte dela ett tal med 0.
Okej ;)
Men kan du förklara varför det funkar lokalt och på dknet, men inte loopia?
Kan detta funka bättre?
<%
IF objrs11("antal") = 0 THEN
Dim A11, B11
A11 = Rs("plac")
B11 = objrs11("antal")
p11 =Round((a11)/(b11)*100,0)
END IF
%>
Ehh... den koden kommer alltid att ge division by zero.
<%
If Not Rs.EOF Then
A11 = Rs("plac")
Else
A11 = 0
End If
If Not objrs11.EOF Then
If Not objrs11("antal") = 0 Then
B11 = objrs11("antal")
Else
B11 = 1
End If
Else
B11 = 1
End If
p11 = Round(a11 / b11 * 100, 0)
Ytterligare en anledning till att det inte fungerar kan vara att objrs11 eller Rs är tomma.
Problemet är visst att objrs11("antal") är '0' på loopia... men lokalt och på dknet får 'antal' ett värde...
Vad kan vara fel?
<%
SQL = "SELECT Count(*) AS antal FROM " & request.querystring("ar") & " where datum like '" & request.querystring("ar") _
& "%' and enamn='" & rs("enamn") & "' AND fnamn='" & rs("fnamn") & "'"
set objRS11 = MinCon.Execute(SQL)
%>
<%
Dim a11, b11
If Not Rs.EOF Then
A11 = Rs("plac")
Else
A11 = 0
End If
If Not objrs11.EOF Then
If Not objrs11("antal") = 0 Then
B11 = objrs11("antal")
Else
B11 = 1
End If
Else
B11 = 1
End If
p11 = Round(a11 / b11 * 100, 0)
%>
Finns det några poster i databsen som uppfyller villkoren då? Kör du med en databas lokalt/dknet och en annan på loopia?
Jag kör med exakt samma databas, lokalt, dknet och på loopia... mkt skumt :r
SQL = "SELECT Count(*) AS antal FROM " & request.querystring("ar") & " where enamn='" & rs("enamn") _
& "' AND fnamn='" & rs("fnamn") & "'"
Tog bort 'datum' i where-satsen ;)
Nexus86 skrev:
Det betyder att b11 = 0 och man kan inte dela ett tal med noll.
T.ex
42/0, hur många ggr går 0 in i 42? Jo oändligt. Du kan alltså inte dela ett tal med 0.
förlåt, men jag kunnde inte låta detta passera obemärkt. att säga att 42/0 skulle vara lika med oändligheten är inte helt korrekt.
om du vill kan du läsa mer här:
http://www.math.su.se/~jesper/research/wheels/easy.pdf
tar upp lite av problemet och en lösning på att dela med noll