Problema en Paginacion

18/08/2004 - 20:34 por CMS | Informe spam
Estoy tratando de paginar una consulta, el caso es que
los primeros 20 resultados los devuelve correctamente y
los siguientes dice resultados no encontrados
Si elimino el SQL con la fechas funciona perfectamente y
pagina
El codigo que tengo es:
<%
Dim oConn, rs, SQL
Dim PaginaActual ' en qué pagina estamos
Dim PaginasTotales ' cuántas páginas tenemos
Dim TamPagina ' cuantos registros por
pagina
Dim CuantosRegistros ' para imprimir solo el nº de
registro por pagina que queramos
Dim Autor,sFecha0,sFecha1,MiAyto,MiAyto1
Autor=Request.cookies("Autor1")
MiAyto=mid(Autor,5,30)
MiAyto1=RTrim(MiAyto)

sFecha0 = Cdate(Request.Form("Fecha_0"))
sFecha1 = Cdate(Request.Form("Fecha_1"))

'MODIFICAR AQUI PARA CAMBIAR EL Nº DE REGISTRO POR PAGINA
TamPagina

'Leemos qué página mostrar. La primera vez será la inicial
if Request.Querystring("pagina")="" then
PaginaActual=1
else
PaginaActual=CInt(Request.Querystring("pagina"))
end if

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.ConnectionString="DSN=XXXXXXXX"
oConn.Mode=3
oConn.open

SQL= "SELECT * FROM Consulta_WEB WHERE Localidad =
('"&MiAyto&"') AND Fecha_Implantacion BETWEEN
(#"&sFecha0&"#) AND (#"&sFecha1&"#) ORDER BY
Fecha_Implantacion"

' Defino el tamaño de las páginas
rs.PageSize=TamPagina
rs.CacheSize=TamPagina

' Abro el recordset
rs.Open SQL, oConn, 1, 2

'Cuento las páginas
PaginasTotales=rs.PageCount

'Compruebo que la pagina actual está en el rango

if PaginaActual < 1 then
PaginaActual = 1
end if
if PaginaActual > PaginasTotales then
PaginaActual = PaginasTotales
end if

if PaginasTotales=0 then

Response.Write("No se encontraron resultados.")

else

'Vamos a paginar
rs.AbsolutePage=PaginaActual
Response.Write("Pagina " & PaginaActual & " de "
& PaginasTotales)
CuantosRegistros=0
do while not rs.EOF and CuantosRegistros <
TamPagina

'Muestro los enlaces
'Escribo los datos
%>

<%
CuantosRegistros=CuantosRegistros+1
rs.MoveNext
loop

end if
%>

<%
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing


if PaginaActual > 1 then
Response.Write("<A
HREF=C_Identificaciones_Rec.asp?pagina="& PaginaActual-
1& ">20 Anteriores</A>&nbsp;&nbsp;&nbsp;")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A
HREF=C_Identificaciones_Rec.asp?pagina=" & PaginaActual+1
&">20 Siguientes</A>")
end if

%>
 

Leer las respuestas

#1 Franco Figún
18/08/2004 - 21:37 | Informe spam
Usa este codigo que es cortito, alomejor te ayuda:

<%
miConexion= "DRIVER={Microsoft Access Driver (*.mdb)};"
miConexion= miConexion & "DBQ="&Server.Mappath("miBase.mdb")

Set oRS = Server.CreateObject("ADODB.Recordset")
oRS.ActiveConnection = miConexion
oRS.Source = "Select * from miTabla"
oRS.CursorLocation = 3
oRS.Open

OrdenadoPor = Request("OrdenadoPor")
If OrdenadoPor <> "" Then oRS.Sort = OrdenadoPor
%>
<html>
<body>
<TABLE BORDER="1">
<TR>
<%For I = 0 To oRS.Fields.Count - 1%>
<TD><B><A HREF="?OrdenadoPor=<%=oRS.Fields(I).Name%>">
<%=oRS.Fields(I).Name%></B></A></TD>
<%Next%>
</TR>
<%Do While Not oRS.EOF%>
<TR>
<%For I = 0 To oRS.Fields.Count - 1%>
<TD><%=oRS.Fields(I)%></TD>
<%Next%>
</TR>
<%oRS.MoveNext
Loop%>
</TABLE>
</body></html>

FF
www.francofigun.com.ar
Yahoo MSN:

"CMS" escribió en el mensaje
news:8b1001c48552$07284a70$
Estoy tratando de paginar una consulta, el caso es que
los primeros 20 resultados los devuelve correctamente y
los siguientes dice resultados no encontrados
Si elimino el SQL con la fechas funciona perfectamente y
pagina
El codigo que tengo es:
<%
Dim oConn, rs, SQL
Dim PaginaActual ' en qué pagina estamos
Dim PaginasTotales ' cuántas páginas tenemos
Dim TamPagina ' cuantos registros por
pagina
Dim CuantosRegistros ' para imprimir solo el nº de
registro por pagina que queramos
Dim Autor,sFecha0,sFecha1,MiAyto,MiAyto1
Autor=Request.cookies("Autor1")
MiAyto=mid(Autor,5,30)
MiAyto1=RTrim(MiAyto)

sFecha0 = Cdate(Request.Form("Fecha_0"))
sFecha1 = Cdate(Request.Form("Fecha_1"))

'MODIFICAR AQUI PARA CAMBIAR EL Nº DE REGISTRO POR PAGINA
TamPagina

'Leemos qué página mostrar. La primera vez será la inicial
if Request.Querystring("pagina")="" then
PaginaActual=1
else
PaginaActual=CInt(Request.Querystring("pagina"))
end if

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.ConnectionString="DSN=XXXXXXXX"
oConn.Mode=3
oConn.open

SQL= "SELECT * FROM Consulta_WEB WHERE Localidad ('"&MiAyto&"') AND Fecha_Implantacion BETWEEN
(#"&sFecha0&"#) AND (#"&sFecha1&"#) ORDER BY
Fecha_Implantacion"

' Defino el tamaño de las páginas
rs.PageSize=TamPagina
rs.CacheSize=TamPagina

' Abro el recordset
rs.Open SQL, oConn, 1, 2

'Cuento las páginas
PaginasTotales=rs.PageCount

'Compruebo que la pagina actual está en el rango

if PaginaActual < 1 then
PaginaActual = 1
end if
if PaginaActual > PaginasTotales then
PaginaActual = PaginasTotales
end if

if PaginasTotales=0 then

Response.Write("No se encontraron resultados.")

else

'Vamos a paginar
rs.AbsolutePage=PaginaActual
Response.Write("Pagina " & PaginaActual & " de "
& PaginasTotales)
CuantosRegistros=0
do while not rs.EOF and CuantosRegistros <
TamPagina

'Muestro los enlaces
'Escribo los datos
%>

<%
CuantosRegistros=CuantosRegistros+1
rs.MoveNext
loop

end if
%>

<%
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing


if PaginaActual > 1 then
Response.Write("<A
HREF=C_Identificaciones_Rec.asp?pagina="& PaginaActual-
1& ">20 Anteriores</A>&nbsp;&nbsp;&nbsp;")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A
HREF=C_Identificaciones_Rec.asp?pagina=" & PaginaActual+1
&">20 Siguientes</A>")
end if

%>

Preguntas similares