
15/12/2002, 19:46
|
(Desactivado) | | Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 8 meses Puntos: 0 | |
ayuda con error en encuesta SAQUE ESTA ENCUESTA DE LA WEB , Y ME DA EL SIGUIENTE ERROR
ADODB.Field error '800a0bcd'
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.
/servidor/encuesta2/TMP99lfx76vi2.asp, line 37
ES COMO SI LA BASE DE DATOS LOS DATOS NO EXISTIERAN PERO ESTOS ESTAN , REVISE LOS NOMBRES DE LO CAMPOS Y ESTA TODO BIEN POR QUE SALE ESTE ERROR ? PASO EL DOCIGO : LA LINEA 37 ESTA MARCADA -
<%
' encuesta.asp --- Se encarga de presentar y responder encuestas de bd
'Constante con la encuesta, ¡cambiar para hacerlo aleatorio!
Dim objConn, objrs, sSQL, nombre, id, ID_ENCUESTA
Dim accion
set objConn=Server.CreateObject("ADODB.Connection")
set objrs=Server.CreateObject("ADODB.Recordset")
'Abro la conexión
objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("interaccion.mdb")
ID_ENCUESTA=2
id=ID_ENCUESTA
accion=CStr(Request.QueryString("accion"))
'Response.Write(id)
select case accion
case "respuesta"
MostrarResultado
case else
MostrarEncuesta id
end select
objrs.Close
set objrs=nothing
objConn.Close
set objConn=nothing
' SUBS&FUNCIONES
'================================================= ======================================
Sub MostrarEncuesta (id)
' Muestra la encuesta 'id' con el titulo y las opciones para votar
Dim titulo, numopciones, I
sSQL="SELECT * FROM encuesta WHERE IdEncuesta="&id&";"
objrs.Open sSQL, objConn
numopciones=objrs.Fields("NumOpciones") LINEA 37 DEL ERROR
Response.Write("<center><b>")
Response.Write(objrs.Fields("Nombre"))
Response.Write("<hr noshade>")
Response.Write("</b>")
Response.Write("<FORM NAME=""Encuesta"" METHOD=""POST"" ACTION=""encuesta.asp?accion=respuesta"">")
Response.Write("<INPUT TYPE=""hidden"" VALUE="&id&" NAME=""Id"">")
for I=1 TO numopciones
' Imprime posibilidades
Response.Write("<center>")
Response.Write("<INPUT TYPE=""radio"" NAME=""Respuesta"" VALUE="""&I&""">"&objrs.Fields("Texto"&I)&" ")
Response.Write("</center>")
next
Response.Write("<br><INPUT TYPE=""submit"" VALUE=""Votar"">")
Response.Write("</FORM></center>")
End Sub 'MostrarEncuesta
'================================================= ==============================================
Sub MostrarResultado
Dim voto, encuesta, numopciones, total, I, porcentaje, rojo, azul, amarillo, verde
Dim aColores(4)
rojo="imagenes/rojo.gif"
azul="imagenes/azul.gif"
amarillo="imagenes/amarillo.gif"
verde="imagenes/verde.gif"
aColores(0)=azul
aColores(1)=verde
aColores(2)=rojo
aColores(3)=amarillo
encuesta=Request.Form("Id")
voto=CInt(Request.Form("Respuesta"))
sSQL="SELECT * FROM encuesta WHERE IdEncuesta="&encuesta&";"
objrs.Open sSQL, objConn, 2, 2
objrs.Fields("Opcion"&voto)=objrs.Fields("Opcion"& voto)+1
objrs.Update
objrs.Requery
objrs.MoveFirst
total=0
numopciones=objrs.Fields("NumOpciones")
for I=1 to numopciones
total=total+objrs.Fields("Opcion"&I)
next
'Muestro resultados:
%>
<b>Resultados de la encuesta:</b><%=objrs.Fields("Nombre")%><br>
<table border="0">
<%
for I=1 to numopciones
porcentaje=CSng((objrs.Fields("Opcion"&I) / total) * 100)
%>
<tr>
<td>
<%=objrs.Fields("Texto"&I)%>
</td>
<td>
<IMG SRC="<%=aColores(I-1)%>" BORDER="0" HEIGHT="15" WIDTH="<%=(300*porcentaje)/100%>">
<%=Left(CStr(porcentaje),6)%>%
</td>
<tr>
<%
next
Response.Write("<small><i>Total de votos:"&total&"</small></i>")
Response.Write("<br>¡Gracias por participar!")
%>
</table>
<br><center><A HREF=default.asp>Volver</A></center>
<%
End Sub 'MostrarResultado
%> |