Error ADODB.Field (0x80020009) SOS URGENTE

22/09/2006 - 08:37 por Aura | Informe spam
Hola !

Tengo una consulta en las que muestro el resultado en una pagina ASP. Y me
da el siguiente error

Tipo de error:
ADODB.Field (0x80020009)
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación
solicitada requiere un registro actual.

Lo mas raro de todo,es que no me da ninguna linea de error. Y en realidad,
en la bd Access el registro existe y la consulta se executa correctamente.
Es posible que las consultas un poco largas den este tipo de error?

Muchas gracias por la ayuda !
Un saludo

Preguntas similare

Leer las respuestas

#1 Matias Iacono
22/09/2006 - 13:59 | Informe spam
Puedes colocar el codigo de tu pagina?

Aparentemente estas tratando de acceder a un registro cuando el recordset se
encuentra al final.

Saludos.

Microsoft MVP
Orador Regional INETA


"Aura" wrote:


Hola !

Tengo una consulta en las que muestro el resultado en una pagina ASP. Y me
da el siguiente error

Tipo de error:
ADODB.Field (0x80020009)
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación
solicitada requiere un registro actual.

Lo mas raro de todo,es que no me da ninguna linea de error. Y en realidad,
en la bd Access el registro existe y la consulta se executa correctamente.
Es posible que las consultas un poco largas den este tipo de error?

Muchas gracias por la ayuda !
Un saludo

Respuesta Responder a este mensaje
#2 Aura
22/09/2006 - 15:51 | Informe spam
Ok, aquí tienes el código. A ver que conclusión sacas.
Muchas gracias por adelantado

<%
'Connecto
Set miconn = Server.CreateObject("ADODB.Connection")
miconn.open "DSN=NombreBD;UID=;Password=;"

sSQL ="SELECT TempIng.Suma_Ingreso, TempPag.Suma_Pagado, TempIng.[Año],
TempPag.Mes, interventor, Direccion.* FROM TempPag, TempIng, Cargo, Direccion
WHERE (((TempIng.[Año])=TempPag.[Año]) AND ((TempIng.Mes)=TempPag.[Mes]) AND
((TempIng.[Mes])="&Request.Form("mes")&"))"

set RS = miconn.Execute(sSQL)

If RS.EOF then
Response.Write ("ERROR: No existeixe !")
Else
%>
<br><br>

<div align="center">
<table>
<tr>
<td colspan="3"><hr size="1" color="#666666"></td>
</tr>
<tr>
<td rowspan="2">Año
</td>
<td colspan="2"><div align="center">Mes <% =RS("Mes")%> de <%
=RS("Año")%></div></td>
</tr>
<tr>
<td>Importe</td>
<td>Importe</td>
</tr>
<tr>
<td colspan="3"><hr size="1" color="#666666"></td>
</tr>
<% sumaI = 0
sumaP = 0
do until RS.EOF %>
<tr>
<td><% =RS("Año")%></td>
<td><% =RS("Suma_Ingreso")%></td>
<td><% =RS("Suma_Pagado")%></td>
</tr>
<% sumaI = sumaI + RS("Suma_Ingreso")
sumaP = sumaP + RS("Suma_Pagado")
RS.MoveNext
loop%>
<tr>
<td colspan="3"><hr color="#000000"></td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td><% Response.Write " "&sumaI&"€"%></td>
<td><% Response.Write " "&sumaP&"€"%></td>
<td></td>
</tr>
<tr>
<td colspan="3"><hr color="#000000"></td>
</tr>
<tr>
<td colspan="3">
<% stringData(Month(Now)) %><br>
</td>
</tr>
<tr>
<td colspan="3">
</td>
</tr>
</table>
</div>
<% End if
RS.Close
set RS = Nothing
miconn.Close
set miconn = Nothing
%>

"Matias Iacono" wrote:

Puedes colocar el codigo de tu pagina?

Aparentemente estas tratando de acceder a un registro cuando el recordset se
encuentra al final.

Saludos.

Microsoft MVP
Orador Regional INETA


"Aura" wrote:

>
> Hola !
>
> Tengo una consulta en las que muestro el resultado en una pagina ASP. Y me
> da el siguiente error
>
> Tipo de error:
> ADODB.Field (0x80020009)
> El valor de BOF o EOF es True, o el actual registro se eliminó; la operación
> solicitada requiere un registro actual.
>
> Lo mas raro de todo,es que no me da ninguna linea de error. Y en realidad,
> en la bd Access el registro existe y la consulta se executa correctamente.
> Es posible que las consultas un poco largas den este tipo de error?
>
> Muchas gracias por la ayuda !
> Un saludo
>
Respuesta Responder a este mensaje
#3 Matias Iacono
22/09/2006 - 16:18 | Informe spam
Te haz asegurado que la consulta retorna datos?

Recuerda que el recordset puede no estar en EOF aunque no tenga datos en el.

En todo caso podrias modificar el IF de la siguiente forma:

If RS.EOF or RS.BOF then

Saludos.

Microsoft MVP
Orador Regional INETA


"Aura" wrote:

Ok, aquí tienes el código. A ver que conclusión sacas.
Muchas gracias por adelantado

<%
'Connecto
Set miconn = Server.CreateObject("ADODB.Connection")
miconn.open "DSN=NombreBD;UID=;Password=;"

sSQL ="SELECT TempIng.Suma_Ingreso, TempPag.Suma_Pagado, TempIng.[Año],
TempPag.Mes, interventor, Direccion.* FROM TempPag, TempIng, Cargo, Direccion
WHERE (((TempIng.[Año])=TempPag.[Año]) AND ((TempIng.Mes)=TempPag.[Mes]) AND
((TempIng.[Mes])="&Request.Form("mes")&"))"

set RS = miconn.Execute(sSQL)

If RS.EOF then
Response.Write ("ERROR: No existeixe !")
Else
%>
<br><br>

<div align="center">
<table>
<tr>
<td colspan="3"><hr size="1" color="#666666"></td>
</tr>
<tr>
<td rowspan="2">Año
</td>
<td colspan="2"><div align="center">Mes <% =RS("Mes")%> de <%
=RS("Año")%></div></td>
</tr>
<tr>
<td>Importe</td>
<td>Importe</td>
</tr>
<tr>
<td colspan="3"><hr size="1" color="#666666"></td>
</tr>
<% sumaI = 0
sumaP = 0
do until RS.EOF %>
<tr>
<td><% =RS("Año")%></td>
<td><% =RS("Suma_Ingreso")%></td>
<td><% =RS("Suma_Pagado")%></td>
</tr>
<% sumaI = sumaI + RS("Suma_Ingreso")
sumaP = sumaP + RS("Suma_Pagado")
RS.MoveNext
loop%>
<tr>
<td colspan="3"><hr color="#000000"></td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td><% Response.Write " "&sumaI&"€"%></td>
<td><% Response.Write " "&sumaP&"€"%></td>
<td></td>
</tr>
<tr>
<td colspan="3"><hr color="#000000"></td>
</tr>
<tr>
<td colspan="3">
<% stringData(Month(Now)) %><br>
</td>
</tr>
<tr>
<td colspan="3">
</td>
</tr>
</table>
</div>
<% End if
RS.Close
set RS = Nothing
miconn.Close
set miconn = Nothing
%>

"Matias Iacono" wrote:

> Puedes colocar el codigo de tu pagina?
>
> Aparentemente estas tratando de acceder a un registro cuando el recordset se
> encuentra al final.
>
> Saludos.
>
> Microsoft MVP
> Orador Regional INETA
>
>
> "Aura" wrote:
>
> >
> > Hola !
> >
> > Tengo una consulta en las que muestro el resultado en una pagina ASP. Y me
> > da el siguiente error
> >
> > Tipo de error:
> > ADODB.Field (0x80020009)
> > El valor de BOF o EOF es True, o el actual registro se eliminó; la operación
> > solicitada requiere un registro actual.
> >
> > Lo mas raro de todo,es que no me da ninguna linea de error. Y en realidad,
> > en la bd Access el registro existe y la consulta se executa correctamente.
> > Es posible que las consultas un poco largas den este tipo de error?
> >
> > Muchas gracias por la ayuda !
> > Un saludo
> >
Respuesta Responder a este mensaje
#4 Victor B.
22/09/2006 - 18:47 | Informe spam
Si no se soluciona con lo que te indica Matias, declara RS como objeto
ADODB.Recordset y establece sus propiedades para que el cursor sea del lado
del cliente.


Víctor B.
Desarrollador independiente
"Aura" escribió en el mensaje
news:
Ok, aquí tienes el código. A ver que conclusión sacas.
Muchas gracias por adelantado

<%
'Connecto
Set miconn = Server.CreateObject("ADODB.Connection")
miconn.open "DSN=NombreBD;UID=;Password=;"

sSQL ="SELECT TempIng.Suma_Ingreso, TempPag.Suma_Pagado, TempIng.[Año],
TempPag.Mes, interventor, Direccion.* FROM TempPag, TempIng, Cargo,
Direccion
WHERE (((TempIng.[Año])=TempPag.[Año]) AND ((TempIng.Mes)=TempPag.[Mes])
AND
((TempIng.[Mes])="&Request.Form("mes")&"))"

set RS = miconn.Execute(sSQL)

If RS.EOF then
Response.Write ("ERROR: No existeixe !")
Else
%>
<br><br>

<div align="center">
<table>
<tr>
<td colspan="3"><hr size="1" color="#666666"></td>
</tr>
<tr>
<td rowspan="2">Año
</td>
<td colspan="2"><div align="center">Mes <% =RS("Mes")%> de <%
=RS("Año")%></div></td>
</tr>
<tr>
<td>Importe</td>
<td>Importe</td>
</tr>
<tr>
<td colspan="3"><hr size="1" color="#666666"></td>
</tr>
<% sumaI = 0
sumaP = 0
do until RS.EOF %>
<tr>
<td><% =RS("Año")%></td>
<td><% =RS("Suma_Ingreso")%></td>
<td><% =RS("Suma_Pagado")%></td>
</tr>
<% sumaI = sumaI + RS("Suma_Ingreso")
sumaP = sumaP + RS("Suma_Pagado")
RS.MoveNext
loop%>
<tr>
<td colspan="3"><hr color="#000000"></td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td><% Response.Write " "&sumaI&"?"%></td>
<td><% Response.Write " "&sumaP&"?"%></td>
<td></td>
</tr>
<tr>
<td colspan="3"><hr color="#000000"></td>
</tr>
<tr>
<td colspan="3">
<% stringData(Month(Now)) %><br>
</td>
</tr>
<tr>
<td colspan="3">
</td>
</tr>
</table>
</div>
<% End if
RS.Close
set RS = Nothing
miconn.Close
set miconn = Nothing
%>

"Matias Iacono" wrote:

Puedes colocar el codigo de tu pagina?

Aparentemente estas tratando de acceder a un registro cuando el recordset
se
encuentra al final.

Saludos.

Microsoft MVP
Orador Regional INETA


"Aura" wrote:

>
> Hola !
>
> Tengo una consulta en las que muestro el resultado en una pagina ASP. Y
> me
> da el siguiente error
>
> Tipo de error:
> ADODB.Field (0x80020009)
> El valor de BOF o EOF es True, o el actual registro se eliminó; la
> operación
> solicitada requiere un registro actual.
>
> Lo mas raro de todo,es que no me da ninguna linea de error. Y en
> realidad,
> en la bd Access el registro existe y la consulta se executa
> correctamente.
> Es posible que las consultas un poco largas den este tipo de error?
>
> Muchas gracias por la ayuda !
> Un saludo
>
Respuesta Responder a este mensaje
#5 Aura
24/09/2006 - 18:25 | Informe spam
Hola Matías,

He hecho lo que me dijiste, y no entra en el IF RS.EOF o RS.BOF, esto quiere
decir que el registro existe.

Y ahora que hago ?
Muchas gracias

"Matias Iacono" wrote:

Te haz asegurado que la consulta retorna datos?

Recuerda que el recordset puede no estar en EOF aunque no tenga datos en el.

En todo caso podrias modificar el IF de la siguiente forma:

If RS.EOF or RS.BOF then

Saludos.

Microsoft MVP
Orador Regional INETA


"Aura" wrote:

> Ok, aquí tienes el código. A ver que conclusión sacas.
> Muchas gracias por adelantado
>
> <%
> 'Connecto
> Set miconn = Server.CreateObject("ADODB.Connection")
> miconn.open "DSN=NombreBD;UID=;Password=;"
>
> sSQL ="SELECT TempIng.Suma_Ingreso, TempPag.Suma_Pagado, TempIng.[Año],
> TempPag.Mes, interventor, Direccion.* FROM TempPag, TempIng, Cargo, Direccion
> WHERE (((TempIng.[Año])=TempPag.[Año]) AND ((TempIng.Mes)=TempPag.[Mes]) AND
> ((TempIng.[Mes])="&Request.Form("mes")&"))"
>
> set RS = miconn.Execute(sSQL)
>
> If RS.EOF then
> Response.Write ("ERROR: No existeixe !")
> Else
> %>
> <br><br>
>
> <div align="center">
> <table>
> <tr>
> <td colspan="3"><hr size="1" color="#666666"></td>
> </tr>
> <tr>
> <td rowspan="2">Año
> </td>
> <td colspan="2"><div align="center">Mes <% =RS("Mes")%> de <%
> =RS("Año")%></div></td>
> </tr>
> <tr>
> <td>Importe</td>
> <td>Importe</td>
> </tr>
> <tr>
> <td colspan="3"><hr size="1" color="#666666"></td>
> </tr>
> <% sumaI = 0
> sumaP = 0
> do until RS.EOF %>
> <tr>
> <td><% =RS("Año")%></td>
> <td><% =RS("Suma_Ingreso")%></td>
> <td><% =RS("Suma_Pagado")%></td>
> </tr>
> <% sumaI = sumaI + RS("Suma_Ingreso")
> sumaP = sumaP + RS("Suma_Pagado")
> RS.MoveNext
> loop%>
> <tr>
> <td colspan="3"><hr color="#000000"></td>
> </tr>
> <tr>
> <td><strong>Total</strong></td>
> <td><% Response.Write " "&sumaI&"€"%></td>
> <td><% Response.Write " "&sumaP&"€"%></td>
> <td></td>
> </tr>
> <tr>
> <td colspan="3"><hr color="#000000"></td>
> </tr>
> <tr>
> <td colspan="3">
> <% stringData(Month(Now)) %><br>
> </td>
> </tr>
> <tr>
> <td colspan="3">
> </td>
> </tr>
> </table>
> </div>
> <% End if
> RS.Close
> set RS = Nothing
> miconn.Close
> set miconn = Nothing
> %>
>
> "Matias Iacono" wrote:
>
> > Puedes colocar el codigo de tu pagina?
> >
> > Aparentemente estas tratando de acceder a un registro cuando el recordset se
> > encuentra al final.
> >
> > Saludos.
> >
> > Microsoft MVP
> > Orador Regional INETA
> >
> >
> > "Aura" wrote:
> >
> > >
> > > Hola !
> > >
> > > Tengo una consulta en las que muestro el resultado en una pagina ASP. Y me
> > > da el siguiente error
> > >
> > > Tipo de error:
> > > ADODB.Field (0x80020009)
> > > El valor de BOF o EOF es True, o el actual registro se eliminó; la operación
> > > solicitada requiere un registro actual.
> > >
> > > Lo mas raro de todo,es que no me da ninguna linea de error. Y en realidad,
> > > en la bd Access el registro existe y la consulta se executa correctamente.
> > > Es posible que las consultas un poco largas den este tipo de error?
> > >
> > > Muchas gracias por la ayuda !
> > > Un saludo
> > >
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida