Ultimamente maese vgaray ha posteado unos tips muy interesantes sobre paginación, así que yo quiero también desde aquí aportar el siguiente módulo que he desarrollado para, con unas mínimas llamadas a unas funciones, paginar un recordset rápidamente pero de manera que se pueda personalizar (hasta cierto punto, aunque creo que bastante) la salida de datos, y sobre todo, el navegador del recordset: botones, links, nº de páginas, nº de registros, etc...
La función principal permite, mediante el paso de un parámetro, escoger el método de paginación, getrows o el más común.
Para el que le interese he puesto un ejemplo y un zip con el ejemplo e instrucciones en:
www.alen-sl.es/xarod/modulopaginar
Y para cualquier duda podeis preguntarme aquí.
El ejemplo de la página usa el siguiente código:
Código:
<% Option Explicit %>
<!--#include file = "modulo_paginar.asp"-->
<%
Dim oMiConn
set oMiConn = Server.CreateObject("ADODB.Connection")
oMiConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("paginar.mdb")&";"
Dim strMiConsulta
strMiConsulta = "SELECT * FROM Paginar"
'LLAMADA CON METODO GETROWS
Dim arrMiGetRows
Call PaginarConstructor ("gr" , oMiConn , arrMiGetRows , strMiConsulta , 10 , 5, "")
Response.Write "<p align=center>"
Response.Write PaginarMsg("Nº de registros en la base de datos:" , "No se ha encontrado ningún registro en la base de datos.")&"<br>"
Response.Write PaginarNavegador_v1("reg" , "#990000" , "#999999" , "") & "<br>"
Response.Write "</p>"
Response.Write "<hr>"
Response.Write "<p><ul><ul><ul>"
'PAUTA A SEGUIR CON GETROWS ---------------
Dim I
For I = (PaginaActual-1)*TamPagina To (PaginaActual*(TamPagina))-1
If I <= (RegistrosTotales-1) Then
Response.write ("ID: <b>" & arrMiGetRows(0,I) & "</b>&nbsp;&nbsp;&nbsp;valor: <b>" & arrMiGetRows(1,I) & "</b><br>")
End If
Next
%>
Salu2