Tema: GetRows
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/07/2002, 11:45
eduvivi
 
Fecha de Ingreso: enero-2002
Mensajes: 349
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: GetRows

<%
Option Explicit
Dim pag, iEstado, oConn, SQL, rs, aDatos, iTotal, I, J

set oConn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("info.mdb" )

SQL="Select * from dpersonales ORDER BY Apellido"
'Vamos a utilizar el Recordset más eficiente
'CursorType = Forward-Only
rs.CursorType = 0
'LockType = Read-Only
rs.LockType = 1
'CursorLocation = adUseClient
rs.CursorLocation = 3
'Y abrimos el Recordset
rs.Open SQL, oConn
'Obtengo los datos con GetRows
aDatos = rs.GetRows
'Cierro y limpio objetos ya
rs.Close
oConn.Close
set rs = nothing
set oConn = nothing

'Obtengo la página a mostrar de
'la querystring
pag = CInt(Request.QueryString("P"))
'Y llamo a PaginarGR
iEstado = PaginarGR (10, pag, aDatos)
'================================================= ====================================
' PaginarGR -- Pagina un vector bidimensional
' vector es el vector a paginar, iPag la página a mostrar y iRegsPorPag el nº de
' registros por cada página que queremos.
'================================================= ====================================
Function PaginarGR (iRegsPorPag, iPag, vector)
'
'I, J se utilizan para recorrer el vector
Dim I, J
'Total de páginas y la página que queremos mostrar
Dim iPaginas, iPagActual
'Total de registros, registro en que empezamos y registro en que terminamos
Dim iTotal, iComienzo, iFin
'Hallo el total de registros devueltos
iTotal = UBound(aDatos,2)+1
'Calculo el numero de páginas que tenemos
iPaginas = (iTotal \ iRegsPorPag)
'Si daba decimales, añado una más
'para mostrar los últimos registros
if iTotal mod iRegsPorPag > 0 then
iPaginas = iPaginas + 1
end if
'Si no es una página válida, comienzo en la primera
if iPag < 1 then
iPag = 1
end if
'Si es una página mayor al nº de páginas, comienzo en la última
if iPag > iPaginas then
iPag = iPaginas
end if

Continua......