Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/10/2008, 11:45
yakare84
 
Fecha de Ingreso: febrero-2008
Ubicación: Buenos Aires
Mensajes: 58
Antigüedad: 17 años
Puntos: 0
De acuerdo Respuesta: Paginar asp Table

Buenas, si utilizas bases access esto te puede servir
Código:
<%
Dim mostrar       'cantidad de registros a mostrar por página
Dim cant_paginas      'cantidad de páginas que recibimos
Dim pagina_actual      'La página que mostramos
Dim registro_mostrado      'Contador utilizado para mostrar las páginas
Dim I        'Variable Loop

mostrar = 20 ' Pueden modificar este número para cambiar la cantidad de registros por página

' IF para saber que página mostrar
If Request.QueryString("page") = "" Then
	pagina_actual = 1
Else
	pagina_actual = CInt(Request.QueryString("page"))
End If

'Hacemos la consulta
Temp = "SELECT..."
Tabla.PageSize = mostrar
Tabla.CacheSize = mostrar

' Abrimos la tabla...
Tabla.Open Temp, Conexion,3,1

'contamos las páginas que se formaron con la variable mostrar.
cant_paginas = Tabla.PageCount

' Si el pedido de página cae afuera del rango,
' lo modificamos para que caiga adentro
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
	If pagina_actual < 1 Then pagina_actual = 1
	' Si la cantidad de páginas da 0 es que no hay registros... por eso este IF
		If cant_paginas = 0 Then
			Response.Write "No hay registros..."
		Else
			' Nos movemos a la página elegida
			Tabla.AbsolutePage = pagina_actual
			' Mostramos el dato de que página estamos...
%>
<p align="center">Pagina <%= pagina_actual %> de <%= cant_paginas%></p>
<%

' Hacemos el bucle mostrando los datos del registro
registro_mostrado = 0
Do While registro_mostrado < mostrar And Not Tabla.EOF
	' Sumamos 1 a los mostrados
	registro_mostrado = registro_mostrado + 1
 
	' Nos movemos al próximo registro...
	Tabla.MoveNext 
Loop
End If

' Cerramos y limpiamos...
Tabla.Close
Set Tabla = Nothing
Conexion.Close
Set Conexion = Nothing

' Ahora mostramos los enlaces a las otras páginas con el resto de los registros...
If pagina_actual > 1 Then
%>
	[<a href="./mismapagina.asp?page=<%= pagina_actual - 1 %>">&lt;</a>]
<%
End If

' mostramos la paginacion por numeros de página
For I = 1 To cant_paginas
If I = pagina_actual Then
%>
|<%= I %>|
<%
Else
%>
|<a href="./mismapagina.asp?page=<%= I %>"><%= I %></a>|
<%
End If
Next 'I

If pagina_actual < cant_paginas Then
%>
[<a href="./mismapagina.asp?page=<%= pagina_actual + 1 %>">&gt;</a>]
<% End If %>
Espero te sirva, ojo que yo la conexion la tengo aparte y la carga con un include,
lo que podes hacer es meterla antes de hacer el select...sino no va a saber donde buscar...

Saludos!