Tema: Paginación
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/10/2007, 09:15
Avatar de gagarin
gagarin
 
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 550
Antigüedad: 23 años, 5 meses
Puntos: 4
Paginación

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
__________________
Temiqui Iztoc Cualtlia Elhuayotl