webForumDet fria alternativet

felmeddelande

ASP

15 svar · 715 visningar · startad av ridder

Medlem sedan dec. 200611 inlägg
Frågan#1

Hej.
jag får felmeddelande:
Microsoft VBScript runtime error '800a000d'
Type mismatch

/nyclub3/poll.asp, line 29

Vad menas med detta och vad behöver göras?

//mvh

Medlem sedan juni 200032 967 inlägg
#2

Det betyder att det är något fel som är trasigt.
Om du inte visar koden kan vi inte hjälpa dig mycket mer än så.

Medlem sedan dec. 200611 inlägg
#3

Koden ser ut så här:

<%Dim strVotedPoll
Set Check = Conn.Execute("SELECT votedPoll From com_users Where active=1 and userid=" & FixaTecken(Session("user_id")))
strVotedPoll = Check(0)
Check.Close:Set Check=Nothing

If Request.Querystring("action") = "" Then%>
<table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">

<%Set Fraga=Conn.Execute("SELECT pollid,fraga From com_fraga Order by PollId desc limit 1")
If Fraga.EOF Then%>
<tr>
<td colspan="2"><%=strPoll_NoPost%></td>
</tr>
<%Else%>
<tr>
<td colspan="2"><b><%=Fraga(1)%></b></td>
</tr>
<%totalt = Conn.Execute("SELECT sum(klick) From com_svar Where pollID=" & FixaTecken(Fraga(0))).Fields(0)
SQL1 = "SELECT pollID,klick,svar,id From com_svar Where pollID="& FixaTecken(Fraga(0)) & " Order By svarnr"
arrRecSet = GetDbRows(SQL1)
If Not IsArray(arrRecSet) Then%>
<tr>
<td colspan="2"><b><%=strPoll_NoSvar%></b></td>
</tr>
<%Else
For i = 0 To ubound(arrRecSet,2)
stat = arrRecSet(1,i)
If stat <> 0 Then
res = (stat/totalt)* 100
Else
res = "0"
End If
If Int(strVotedPoll) = Int(Fraga(0)) Then%>
<tr>
<td width="82%"><%=arrRecSet(2,i)%> (<%=stat%>)</td>
<td rowspan="2" width="18%" valign="bottom" align="right"><%=Round(res,0)%>%</td>
</tr>
<tr>
<td bgcolor="<%=sidBG%>" height="5"><img src="gfx/stapel.gif" width="<%=Round(res,0)%>%" height="5" border="1"></td>
</tr>
<%Else%>
<tr>
<td width="82%"><a href="default.asp?action=vote&svarID=<%=arrRecSet(3,i)%>&pollId=<%=Fraga(0)%>" class="vit"><%=arrRecSet(2,i)%></a> (<%=stat%>)</td>
<td rowspan="2" width="18%" valign="bottom" align="right"><%=Round(res,0)%>%</td>
</tr>
<tr>
<td bgcolor="<%=sidBG%>" height="5"><img src="gfx/stapel.gif" width="<%=Round(res,0)%>%" height="5" border="1"></td>
</tr>
<%End If
Next%>
<tr>
<td><br><%=strPoll_Rost%>: <%For i=1 to Len(totalt)%><%=Mid(totalt,i,1)%><%Next%></td>
<td align="right"><br><a href="old_poll.asp"><%=strPoll_Aldre%></a></td>
</tr>
<%End If
End If%>
</table>

<%ElseIf Request.Querystring("action") = "vote" Then
If Int(strVotedPoll) = Int(Request.Querystring("pollId")) Then
'Conn.Close:Set Conn=Nothing
Response.Write "<script language=Javascript>"
Response.Write "self.location.href='default.asp';"
Response.Write "</script>"
Else
'Conn.Close:Set Conn=Nothing
Response.Redirect "default.asp?action=saveVote&svarID=" & Request.QueryString("svarID") & "&pollId=" & Request.Querystring("pollId")
End If

ELseIf Request.Querystring("action") = "saveVote" Then
Conn.Execute("Update com_svar Set klick=klick+1 Where id=" & FixaTecken(Request.QueryString("svarID")))
Conn.Execute("Update com_users Set votedPoll=" & FixaTecken(Request.Querystring("pollId")) & " Where userid=" & FixaTecken(Session("user_id")))

'Conn.Close:Set Conn=Nothing
Response.Write "<script language=Javascript>"
Response.Write "self.location.href='default.asp';"
Response.Write "</script>"
End If%>

Medlem sedan juni 200032 967 inlägg
#4

Iiih, snälla, lägg koden mellan [kod] och [/ kod] (utan mellanslag), så den går att läsa, och markera vilken rad det blir fel på.

Edit: Antagligen stavas dock felet subtypskonvertering. Använd Clng() eller Cdbl() (beroende på om det är hel- eller decimaltal) på de tal du försöker räkna med. Det är inte bra att försöka dela strängar med varandra.

Medlem sedan dec. 200611 inlägg
#5

Sorry.. vet inte om jag fick till det bättre nu heller. Markerade iaf med rött. (rad 19).

<%Dim strVotedPoll
Set Check = Conn.Execute("SELECT votedPoll From com_users Where active=1 and userid=" & FixaTecken(Session("user_id"))) 
  strVotedPoll = Check(0)
Check.Close:Set Check=Nothing

If Request.Querystring("action") = "" Then%>
<table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">

<%Set Fraga=Conn.Execute("SELECT pollid,fraga From com_fraga Order by PollId desc limit 1")
If Fraga.EOF Then%>
  <tr>
    <td colspan="2"><%=strPoll_NoPost%></td>
  </tr>
<%Else%>
  <tr>
    <td colspan="2"><b><%=Fraga(1)%></b></td>
  </tr>
  <%totalt = Conn.Execute("SELECT sum(klick) From com_svar Where pollID=" & FixaTecken(Fraga(0))).Fields(0)
  [red]SQL1 = "SELECT pollID,klick,svar,id From com_svar Where pollID="& FixaTecken(Fraga(0)) & " Order By svarnr"[/red]
  arrRecSet = GetDbRows(SQL1)
  If Not IsArray(arrRecSet) Then%>
    <tr>
      <td colspan="2"><b><%=strPoll_NoSvar%></b></td>
    </tr>
  <%Else
    For i = 0 To ubound(arrRecSet,2)
      stat     = arrRecSet(1,i)
      If stat <> 0 Then
        res      = (stat/totalt)* 100
      Else
        res = "0"
      End If
      If Int(strVotedPoll) = Int(Fraga(0)) Then%>
        <tr>
          <td width="82%"><%=arrRecSet(2,i)%> (<%=stat%>)</td>
          <td rowspan="2" width="18%" valign="bottom" align="right"><%=Round(res,0)%>%</td>
        </tr>
        <tr>
          <td bgcolor="<%=sidBG%>" height="5"><img src="gfx/stapel.gif" width="<%=Round(res,0)%>%" height="5" border="1"></td>
        </tr>
      <%Else%>
        <tr>
          <td width="82%"><a href="default.asp?action=vote&svarID=<%=arrRecSet(3,i)%>&pollId=<%=Fraga(0)%>" class="vit"><%=arrRecSet(2,i)%></a> (<%=stat%>)</td>
          <td rowspan="2" width="18%" valign="bottom" align="right"><%=Round(res,0)%>%</td>
        </tr>
        <tr>
          <td bgcolor="<%=sidBG%>" height="5"><img src="gfx/stapel.gif" width="<%=Round(res,0)%>%" height="5" border="1"></td>
        </tr>
      <%End If
    Next%>
    <tr>
      <td><br><%=strPoll_Rost%>: <%For i=1 to Len(totalt)%><%=Mid(totalt,i,1)%><%Next%></td>
      <td align="right"><br><a href="old_poll.asp"><%=strPoll_Aldre%></a></td>
    </tr>
  <%End If
End If%>
</table>

<%ElseIf Request.Querystring("action") = "vote" Then
  If Int(strVotedPoll) = Int(Request.Querystring("pollId")) Then
    'Conn.Close:Set Conn=Nothing
    Response.Write "<script language=Javascript>"
    Response.Write "self.location.href='default.asp';"
    Response.Write "</script>"
  Else
    'Conn.Close:Set Conn=Nothing
    Response.Redirect "default.asp?action=saveVote&svarID=" & Request.QueryString("svarID") & "&pollId=" & Request.Querystring("pollId")
  End If

ELseIf Request.Querystring("action") = "saveVote" Then
  Conn.Execute("Update com_svar Set klick=klick+1 Where id=" & FixaTecken(Request.QueryString("svarID")))
  Conn.Execute("Update com_users Set votedPoll=" & FixaTecken(Request.Querystring("pollId")) & " Where userid=" & FixaTecken(Session("user_id")))

  'Conn.Close:Set Conn=Nothing
  Response.Write "<script language=Javascript>"
  Response.Write "self.location.href='default.asp';"
  Response.Write "</script>"
End If%>
Medlem sedan dec. 200611 inlägg
#6

sorry.. rad 29 va det ju.

<%Dim strVotedPoll
Set Check = Conn.Execute("SELECT votedPoll From com_users Where active=1 and userid=" & FixaTecken(Session("user_id"))) 
  strVotedPoll = Check(0)
Check.Close:Set Check=Nothing

If Request.Querystring("action") = "" Then%>
<table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">

<%Set Fraga=Conn.Execute("SELECT pollid,fraga From com_fraga Order by PollId desc limit 1")
If Fraga.EOF Then%>
  <tr>
    <td colspan="2"><%=strPoll_NoPost%></td>
  </tr>
<%Else%>
  <tr>
    <td colspan="2"><b><%=Fraga(1)%></b></td>
  </tr>
  <%totalt = Conn.Execute("SELECT sum(klick) From com_svar Where pollID=" & FixaTecken(Fraga(0))).Fields(0)
  SQL1 = "SELECT pollID,klick,svar,id From com_svar Where pollID="& FixaTecken(Fraga(0)) & " Order By svarnr"
  arrRecSet = GetDbRows(SQL1)
  If Not IsArray(arrRecSet) Then%>
    <tr>
      <td colspan="2"><b><%=strPoll_NoSvar%></b></td>
    </tr>
  <%Else
    For i = 0 To ubound(arrRecSet,2)
      stat     = arrRecSet(1,i)
      If stat <> 0 Then
 [blue]       res      = (stat/totalt)* 100[/blue]
      Else
        res = "0"
      End If
      If Int(strVotedPoll) = Int(Fraga(0)) Then%>
        <tr>
          <td width="82%"><%=arrRecSet(2,i)%> (<%=stat%>)</td>
          <td rowspan="2" width="18%" valign="bottom" align="right"><%=Round(res,0)%>%</td>
        </tr>
        <tr>
          <td bgcolor="<%=sidBG%>" height="5"><img src="gfx/stapel.gif" width="<%=Round(res,0)%>%" height="5" border="1"></td>
        </tr>
      <%Else%>
        <tr>
          <td width="82%"><a href="default.asp?action=vote&svarID=<%=arrRecSet(3,i)%>&pollId=<%=Fraga(0)%>" class="vit"><%=arrRecSet(2,i)%></a> (<%=stat%>)</td>
          <td rowspan="2" width="18%" valign="bottom" align="right"><%=Round(res,0)%>%</td>
        </tr>
        <tr>
          <td bgcolor="<%=sidBG%>" height="5"><img src="gfx/stapel.gif" width="<%=Round(res,0)%>%" height="5" border="1"></td>
        </tr>
      <%End If
    Next%>
    <tr>
      <td><br><%=strPoll_Rost%>: <%For i=1 to Len(totalt)%><%=Mid(totalt,i,1)%><%Next%></td>
      <td align="right"><br><a href="old_poll.asp"><%=strPoll_Aldre%></a></td>
    </tr>
  <%End If
End If%>
</table>

<%ElseIf Request.Querystring("action") = "vote" Then
  If Int(strVotedPoll) = Int(Request.Querystring("pollId")) Then
    'Conn.Close:Set Conn=Nothing
    Response.Write "<script language=Javascript>"
    Response.Write "self.location.href='default.asp';"
    Response.Write "</script>"
  Else
    'Conn.Close:Set Conn=Nothing
    Response.Redirect "default.asp?action=saveVote&svarID=" & Request.QueryString("svarID") & "&pollId=" & Request.Querystring("pollId")
  End If

ELseIf Request.Querystring("action") = "saveVote" Then
  Conn.Execute("Update com_svar Set klick=klick+1 Where id=" & FixaTecken(Request.QueryString("svarID")))
  Conn.Execute("Update com_users Set votedPoll=" & FixaTecken(Request.Querystring("pollId")) & " Where userid=" & FixaTecken(Session("user_id")))

  'Conn.Close:Set Conn=Nothing
  Response.Write "<script language=Javascript>"
  Response.Write "self.location.href='default.asp';"
  Response.Write "</script>"
End If%>
Medlem sedan juni 200032 967 inlägg
#7

Ok:

@nders skrev:

Edit: Antagligen stavas dock felet subtypskonvertering. Använd Clng() eller Cdbl() (beroende på om det är hel- eller decimaltal) på de tal du försöker räkna med. Det är inte bra att försöka dela strängar med varandra.

Medlem sedan dec. 200611 inlägg
#8

tack för din snabba hjälp.
Är dock inte själv så duktigt på asp så vart skall jag sätta in dessa?

Medlem sedan juni 200032 967 inlägg
#9
        res      = (Clng(stat)/Clng(totalt))* 100
Medlem sedan dec. 200611 inlägg
#10

Tack ska du ha! fungerar nu!

Härligt med folk som vill hjälpa till.

Mvh

Medlem sedan juni 200032 967 inlägg
#11

Härligt med folk som vill hjälpa till.

Yes, det är det vi är här för. :bire

Medlem sedan dec. 200611 inlägg
#12

hmm.. du. När jag nu skall kolla "äldre" frågor på omröstningne får jag:

Microsoft VBScript runtime error '800a000d'
Type mismatch

/nyclub3/old_poll.asp, line 56

(Har markerat rad 56.)

<%Dim strVotedPoll
Set Check = Conn.Execute("SELECT votedPoll From com_users Where active=1 and userid=" & FixaTecken(Session("user_id"))) 
  strVotedPoll = Check(0)
Check.Close:Set Check=Nothing

If Request.Querystring("action") = "" Then%>
<table cellpadding="2" cellspacing="0" border="0" width="100%" align="center">

<%Set Fraga=Conn.Execute("SELECT pollid,fraga From com_fraga Order by PollId desc limit 1")
If Fraga.EOF Then%>
  <tr>
    <td colspan="2"><%=strPoll_NoPost%></td>
  </tr>
<%Else%>
  <tr>
    <td colspan="2"><b><%=Fraga(1)%></b></td>
  </tr>
  <%totalt = Conn.Execute("SELECT sum(klick) From com_svar Where pollID=" & FixaTecken(Fraga(0))).Fields(0)
  SQL1 = "SELECT pollID,klick,svar,id From com_svar Where pollID="& FixaTecken(Fraga(0)) & " Order By svarnr"
  arrRecSet = GetDbRows(SQL1)
  If Not IsArray(arrRecSet) Then%>
    <tr>
      <td colspan="2"><b><%=strPoll_NoSvar%></b></td>
    </tr>
  <%Else
    For i = 0 To ubound(arrRecSet,2)
      stat     = arrRecSet(1,i)
      If stat <> 0 Then
        res      = (Clng(stat)/Clng(totalt))* 100
      Else
        res = "0"
      End If
      If Int(strVotedPoll) = Int(Fraga(0)) Then%>
        <tr>
          <td width="82%"><%=arrRecSet(2,i)%> (<%=stat%>)</td>
          <td rowspan="2" width="18%" valign="bottom" align="right"><%=Round(res,0)%>%</td>
        </tr>
        <tr>
          <td bgcolor="<%=sidBG%>" height="5"><img src="gfx/stapel.gif" width="<%=Round(res,0)%>%" height="5" border="1"></td>
        </tr>
      <%Else%>
        <tr>
          <td width="82%"><a href="default.asp?action=vote&svarID=<%=arrRecSet(3,i)%>&pollId=<%=Fraga(0)%>" class="vit"><%=arrRecSet(2,i)%></a> (<%=stat%>)</td>
          <td rowspan="2" width="18%" valign="bottom" align="right"><%=Round(res,0)%>%</td>
        </tr>
        <tr>
          <td bgcolor="<%=sidBG%>" height="5"><img src="gfx/stapel.gif" width="<%=Round(res,0)%>%" height="5" border="1"></td>
        </tr>
      <%End If
    Next%>
    <tr>
      <td><br><%=strPoll_Rost%>: <%For i=1 to Len(totalt)%><%=Mid(totalt,i,1)%><%Next%></td>
      <td align="right"><br><a href="old_poll.asp"><%=strPoll_Aldre%></a></td>
    </tr>
  <%End If
[red]End If%>[/red]
</table>

<%ElseIf Request.Querystring("action") = "vote" Then
  If Int(strVotedPoll) = Int(Request.Querystring("pollId")) Then
    'Conn.Close:Set Conn=Nothing
    Response.Write "<script language=Javascript>"
    Response.Write "self.location.href='default.asp';"
    Response.Write "</script>"
  Else
    'Conn.Close:Set Conn=Nothing
    Response.Redirect "default.asp?action=saveVote&svarID=" & Request.QueryString("svarID") & "&pollId=" & Request.Querystring("pollId")
  End If

ELseIf Request.Querystring("action") = "saveVote" Then
  Conn.Execute("Update com_svar Set klick=klick+1 Where id=" & FixaTecken(Request.QueryString("svarID")))
  Conn.Execute("Update com_users Set votedPoll=" & FixaTecken(Request.Querystring("pollId")) & " Where userid=" & FixaTecken(Session("user_id")))

  'Conn.Close:Set Conn=Nothing
  Response.Write "<script language=Javascript>"
  Response.Write "self.location.href='default.asp';"
  Response.Write "</script>"
End If%>
Medlem sedan apr. 20031 660 inlägg
#13

HEJ!

Några lösa trådar att nysta i för att komma vidare:

- får du någon text utskriven på sidan, dvs fungerar vissa röstningar?
- skiljer sig de äldre röstningarna på något sätt mot de nyare?

Medlem sedan juni 200032 967 inlägg
#14

J.N., detta problem är löst. http://www.webforum.nu/showthread.php?t=151221

Tips till trådskaparen: posta inte samma problem på flera ställen, samt använd funktionen "Acceptera som slutgiltigt svar".

Medlem sedan apr. 20031 660 inlägg
#15

@nders skrev:

J.N., detta problem är löst.http://www.webforum.nu/showthread.php?t=151221

Jepp, såg det när jag fortsatte uppåt i forumet.

@nders skrev:

Tips till trådskaparen: posta inte samma problem på flera ställen, samt använd funktionen "Acceptera som slutgiltigt svar".

Två alldeles utmärkta tips, där det andra tydligen måste upprepas i all oändlighet. :l

Medlem sedan mars 20023 686 inlägg
#16

@nders skrev:

        [B]Clng([/B]uträkning)

TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK! TACK!

:)

Min webbassistent på sidan mådde inge vidare och vägrade svara på frågor. Alltid något som ska krångla som fungerat tidigare. Googlade och googlade, men ditt inlägg löste biffen.

268 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)