GrevenMedlem sedan okt. 2003119 inlägg 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
Nexus86Medlem sedan okt. 20023 030 inlägg 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.
GrevenMedlem sedan okt. 2003119 inlägg 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
%>
Engine^Medlem sedan dec. 20003 887 inlägg 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.
GrevenMedlem sedan okt. 2003119 inlägg 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)
%>
GrevenMedlem sedan okt. 2003119 inlägg Är det SQL-satsen som är felkomp.?
Finns det någon annan lösning där man räknar antal unika fall?
PeeerMedlem sedan mars 20025 907 inlägg Finns det några poster i databsen som uppfyller villkoren då? Kör du med en databas lokalt/dknet och en annan på loopia?
GrevenMedlem sedan okt. 2003119 inlägg Jag kör med exakt samma databas, lokalt, dknet och på loopia... mkt skumt :r
GrevenMedlem sedan okt. 2003119 inlägg SQL = "SELECT Count(*) AS antal FROM " & request.querystring("ar") & " where enamn='" & rs("enamn") _
& "' AND fnamn='" & rs("fnamn") & "'"
Tog bort 'datum' i where-satsen ;)
CalevanMedlem sedan maj 20031 173 inlägg
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