Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/12/2002, 19:46
hugorei
(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


%>