Mateustg Postado Julho 13, 2007 Denunciar Share Postado Julho 13, 2007 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!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Principe Postado Julho 13, 2007 Denunciar Share Postado Julho 13, 2007 Microsoft VBScript runtime error '800a0009' Subscript out of range: '[number: 0]' /microlins/grafico.asp, line 15Significa que a posição 0(zero) não existe. Ou seja, seu array está vazio! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Mateustg
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:
Me ajudem por favor!!!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.