Hola tengo este código para realizar una paginación:
Código:
<%
Dim Conn, rs, SQL
Dim PaginaActual
Dim RegistrosTotales
Dim PaginasTotales
Dim TamPagina
Dim CuantosRegistros
TamPagina = 50 'Nº DE REGISTRO POR PAGINA
if Request.Querystring("pagina") = "" then PaginaActual = 1 else PaginaActual = Cint(Request.Querystring("pagina"))
':::::::::::::::::::::::::::Aquí empieza la consulta para arrojar los datos a la tabla de resultados
estado = request.Form("enviado")
IF estado = "1" Then
estadoStrg = "true"
else
estadoStrg = "false"
END IF
PromosA = request.Form("promocion")
IF len(PromosA)>3 then
PromosB = Split(PromosA, " - ")
session("RutPromocion") = PromosB(0)
Promos= PromosB(1) & " - " & PromosB(2)
'NombPromocion = PromosIni(0)
'PromosProvincia = PromosIni(1)
'Promos = PromosIni(1) & " - " & PromosIni(2)
END IF
On error resume Next
If Promos = "" Then
sSQL="SELECT id_solicitud, correoenviado, correoelectronico, fecha, promocioninteres, observaciones, nombreyapellidos, direccion, telefono FROM Solicitudes WHERE fecha And fecha BETWEEN #14/09/2007# AND #19/10/2007# AND correoenviado = false"'"'>= #14/09/2007#
nombre = "todas la promociones"
else
sSQL="SELECT id_solicitud, correoenviado, correoelectronico, fecha, promocioninteres, observaciones, nombreyapellidos, direccion, telefono FROM Solicitudes WHERE fecha And fecha BETWEEN #14/09/2007# AND #19/10/2007# AND correoenviado = false AND promocioninteres ='" & Promos & "'"'>= #14/09/2007#
nombre = Promos
END IF
Set Conn = Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
Conn.Open "FILEDSN=E:\wwwroot\bd\solicitudes.dsn"
rs.PageSize = TamPagina
rs.CacheSize = TamPagina
rs.Open sSQL, Conn, 1, 2
PaginasTotales = rs.PageCount
RegistrosTotales = rs.RecordCount
if PaginaActual < 1 then PaginaActual = 1
if PaginaActual > PaginasTotales then PaginaActual = PaginasTotales
if PaginasTotales=0 then
textotd = "No se encontraron resultados."
else
RegistroHasta = TamPagina*PaginaActual
RegistroDe = RegistroHasta - numero +1
rs.AbsolutePage = PaginaActual
textotd = "Pagina " & PaginaActual & " de " & PaginasTotales
%>
Todo va bien en realidad no sé si tenga caso poner todo el código, el punto es que creo que aquí está mi problema pero no sé como resolverlo.
E X P L I C A C I Ó N:::::::::::::::::::::::::::::::::
La paginación se hace cuando la página carga, si se dan cuenta hago un split proveniente de un combobox en la misma página así filtro las promociones que quiero mostrar, cuando la página se carga despues de haber dado en el combo, el rs se llena con los nuevos datos, los pagina correctamente pero el punto es que cuando se le da click al boton de ver siguientes 50 registrss me muestra, si por ejemplo estoy en la pagina =2, los registros de la página dos pero de todos los datos, es decir del primer query que tengo en sSQL no sé que esté haciendo mal, y no sé si m estoy explicando bien, espero puedan ayudarme.
Saludos