<html>
<head><title>Paginar resultados de consulta</title></head>
<%
'Conexion a tu base de datos
StrConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("./db/mibase.mdb")
'Consulta SQL
sql = "SELECT * FROM usuarios where totalpost > 100"
'Configurar aqui los registros por página
num_registros = 20
'actualizamos la pagina actual
if (request.queryString("pag") <> "") then
pagina_actual = request.queryString("pag")
else
pagina_actual = 1
end if
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open StrConn
Set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open sql,oConn,3,1
RS.pageSize = num_registros
RS.absolutePage = pagina_actual
cantidad_campos = RS.Fields.Count
%>
<body>
<div align="center">
Página actual: <%= pagina_actual %><br>
Cantidad de páginas: <%= RS.PageCount %><br>
Registros por página: <%= RS.PageSize %><br>
Registros totales: <%= RS.RecordCount %>
</div>
<br>
<table cellspacing="2" cellpadding="2" border="1" align="center">
<tr>
<%
For campo = 0 to cantidad_campos - 1 %>
<td align="center"><%=RS(campo).Name%></td>
<% Next %>
</tr>
<%
registros_mostrados = 0
While (Not RS.eof And registros_mostrados < num_registros)
registros_mostrados = registros_mostrados +1
%>
<tr>
<%For campo=0 to cantidad_campos - 1 %>
<td align="center"><%=RS(campo)%></td>
<%Next%>
</tr>
<%
RS.MoveNext
Wend
%>
<tr>
<td colspan="<%=cantidad_campos%>" align="center">
<%
i=1
Do While i < RS.PageCount
%>
<a href="paginador.asp?pag=<%=i%>"><%=i%></a>
<%
i=i+1
Loop
%>
</td>
</tr>
</table>
<%
'Limpiamos los objetos (SIEMPRE)
RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing
%>
</body></html>