Jump to content
Fórum Script Brasil
  • 0

Que Erro é Esse?


Mateustg
 Share

Question

Tenho uma página que é para mostrar um gráfico, porém quando excuto a mesma ela gera o seguinte erro:

Microsoft VBScript runtime error '800a0009'

Subscript out of range: '[number: 0]'

/microlins/grafico.asp, line 15

A linha 15 é:

maior_valor = data(LBound(data))

meu código completo é o seguinte:

<% Option Explicit %>

<%
Const grafaltura = 300
Const graflargura = 600
Const barImage = "img_graf.gif"

sub BarChart(data, rotulos , titulo, eixos)
   Response.Write("<TABLE CELLSPACING=0 CELLPADDING=1 BORDER=0 WIDTH=" & graflargura & ">" & chr(13))
   Response.Write("<TR><TH COLSPAN=" & UBound(data) - LBound(data) + 2 & ">")
   Response.Write("<FONT SIZE=+2>" & titulo & "</FONT></TH></TR>" & chr(13))
   Response.Write("<TR><TD VALIGN=TOP ALIGN=RIGHT>" & chr(13))

   Dim maior_valor
   maior_valor = data(LBound(data))

   Dim i
   for i = LBound(data) to UBound(data) - 1
      if data(i) > maior_valor then maior_valor = data(i)
   next

   Response.Write("<b>" & maior_valor & "</b>-" & "</TD>")

   Dim largura_percentual
   largura_percentual = CInt((1 / (UBound(data) - LBound(data) + 1)) * 100)

For i = LBound(data) to UBound(data) - 1
  Response.Write(" <TD VALIGN=BOTTOM ROWSPAN=2 WIDTH=" & largura_percentual & "% >" & chr(13))
  Response.Write("   <IMG SRC=""" & barImage & """ WIDTH=100% HEIGHT=" & CInt(data(i)/maior_valor * grafaltura) & ">" & chr(13))
  Response.Write(" </TD>" & chr(13))
Next

  Response.Write("</TR>")
  Response.Write("<TR><TD VALIGN=BOTTOM ALIGN=RIGHT><b>0</b></TD></TR>")

  Response.Write("<TR><TD ALIGN=RIGHT VALIGN=BOTTOM>" & eixos & "</TD>" & chr(13))
  for i = LBound(rotulos) to UBound(rotulos) - 1
    Response.Write("<TD VALIGN=BOTTOM ALIGN=CENTER>" & rotulos(i) & "</TD>" & chr(13))
  next
  Response.Write("</TR>" & chr(13))
  Response.Write("</TABLE>")
end sub

Dim objConnection, cnpath
Set objConnection = Server.CreateObject("ADODB.Connection")
cnpath="DBQ=" & server.mappath("bd/cadastro.mdb")
objConnection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & cnpath

Dim SQL
SQL = "SELECT Pergunta,Resposta FROM satisfacao"

Dim rsResposta, adOpenStatic
Set rsResposta = Server.CreateObject("ADODB.Recordset")
rsResposta.Open SQL, objConnection, adOpenStatic

Dim numRegistros
numRegistros = rsResposta.RecordCount

Dim VetorResposta(), VetorNomes()
Redim VetorResposta(numRegistros)
Redim VetorNomes(numRegistros)

Dim i
for i = 0 to numRegistros-1
    VetorResposta(i) = rsResposta("Resposta")
    VetorNomes(i) = rsResposta("Pergunta")
    rsResposta.MoveNext
next

%>

<HTML>
<BODY>
<CENTER>
<% BarChart VetorResposta,VetorNomes,"Satisfação dos Alunos - Março/Abril","Alunos" %>
</CENTER>
</BODY>
</HTML>

<%
    rsResposta.Close
    Set rsResposta = Nothing

    objConnection.Close
    Set objConnection = Nothing
%>

Me ajudem por favor!!!

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.7k
×
×
  • Create New...