Solucionado:
Función:
Código ASP:
Ver original<%
'Parámetros:
'Sentencia: Sentencia SQL con la que generar el Recordset
'Pagina_Solicitada: Página del recordset solicitada para mostrar
'Mostrar: número de registros por página
'
'La función crea el Recordset solicitado y devuelve un array:
' Posición 0 : Páginas totales resultantes
' Posición 1 : Página en la que se posiciona, esta puede diferir de la
' solicitada, es decir, si se solicita la página 32 del recordset
' y sólo hay 28 páginas, el valor será 28.
'
Function CrearRs_paginado (Sentencia, Pagina_Solicitada, Mostrar)
Dim Devuelve(1)
if Pagina_Solicitada = "" then
Pagina_Solicitada = 1
Else
Pagina_Solicitada=cint(Pagina_Solicitada)
End if
if Mostrar = "" then
Mostrar = 5
Else
Mostrar = Cint(Mostrar)
End if
Set rs=server.createobject("adodb.recordset")
Rs.pagesize = Mostrar
Rs.cachesize = Mostrar
Rs.open Sentencia,conn,3,1
cant_paginas=rs.pagecount
If Pagina_Solicitada > cant_paginas then
Pagina_Solicitada = cant_paginas
end if
if Pagina_Solicitada <1 then
Pagina_Solicitada = 1
end if
If cant_paginas = 0 Then
'Cantidad de páginas
Devuelve(0) = 0
'Página Solicitada
Devuelve(1) = 0
CrearRs_paginado = Devuelve
Else
Rs.absolutepage = Pagina_Solicitada
Devuelve(0) = rs.pagecount
Devuelve(1) = Pagina_Solicitada
CrearRs_paginado = Devuelve
End If
End Function
%>
En el documento:
Código HTML:
Ver original
<%
Pags_NumPag = CrearRs_Paginado("Select * From Boletines_Subcr", 523, 10)
For I=1 To 10
If Rs.Eof Then Exit For
%>
<%
Rs.MoveNext
Next
Response.Write Pags_NumPag(0) &"<br/>"
Response.Write Pags_NumPag(1)
CerrarRs
%>
Como veis, se le dice que muestre la página 523, paginando de 10 en 10, pero tan sólo hay 253 páginas, por lo tanto devuelve una posición 253 de 253 páginas.
PD. A ver si dejo de ser tan vago y uso Option Explicit.