Foros del Web » Programando para Internet » ASP Clásico »

problemas con paginación de resultados y sentencia SQL

Estas en el tema de problemas con paginación de resultados y sentencia SQL en el foro de ASP Clásico en Foros del Web. Hola estimados, nuevamente soy yo muy aproblemada... Tengo una página (de un sistema administrador web) que muestra resultados paginados. Tengo varios filtros para (valga la ...
  #1 (permalink)  
Antiguo 27/10/2005, 12:16
Avatar de Dorita  
Fecha de Ingreso: junio-2005
Ubicación: Entre la silla y el escritorio
Mensajes: 97
Antigüedad: 19 años
Puntos: 0
problemas con paginación de resultados y sentencia SQL

Hola estimados, nuevamente soy yo muy aproblemada...

Tengo una página (de un sistema administrador web) que muestra resultados paginados. Tengo varios filtros para (valga la redundancia) filtrar los resultados, y por ejemplo si quiero filtar por Id, pongo el id en la casilla de texto y al lado de la casilla de texto hay un checkbox, si marco el checkbox es por que quiero que se filtre por ese parámetro (puse el checkbox por q como dije antes existen bastantes filtros y se puede hacer la consulta con varios al mismo tiempo.). la cosa es q el filtro funciona ok, pero en la paginación yo digo que muestre 50 registros a la vez, si utilizo el filtro por id y eso me trae mas de 50 registros obviamente yo debería avanzar la página y seguir viendo los resultados de esa consulta...el problema es q no sucede eso, se pierde la consulta con ese filtro y muestra el resto de todos los registros que quedan. como se puede hacer en asp para siga mostrando los registros de ese filtro?
intenté rescatando el valor del id ingresado si es q el checkbox está marcado, pero aún asi pierde el valor....
help!
de antemano gracias por su tiempo y ayuda.-
salu2.-
__________________

<nick>Dorita</nick>...si lo sé, soy una ñoña ;)
  #2 (permalink)  
Antiguo 27/10/2005, 13:13
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
tenés que mantener siempre el valor de la variable que ingreso el usuario, ya sea a través de campos hidden o mediante la url.
__________________
Add, never Remove
  #3 (permalink)  
Antiguo 27/10/2005, 15:39
Avatar de Dorita  
Fecha de Ingreso: junio-2005
Ubicación: Entre la silla y el escritorio
Mensajes: 97
Antigüedad: 19 años
Puntos: 0
por hidden no resulta

Hola Mariano_donati, gracias por el dato, mira trate de hacerlo por campos hidden pero el valor igual se perdía, lo voy a tratar por url y t cuento.
gracias, salu2.-
__________________

<nick>Dorita</nick>...si lo sé, soy una ñoña ;)
  #4 (permalink)  
Antiguo 28/10/2005, 12:37
Avatar de Dorita  
Fecha de Ingreso: junio-2005
Ubicación: Entre la silla y el escritorio
Mensajes: 97
Antigüedad: 19 años
Puntos: 0
Hola mariano_donati, q tal, sabes pensé q el problema era el tipo de paginación q estaba utilizando, asi q adapté uno q encontré en la web, lo tengo casi textual, pero igual sigue sucediendo lo mismo.- esto es lo q tengo:

accesoGrabaciones.asp
Código PHP:

Set Conex 
Server.CreateObject("ADODB.Connection")
Set RS Server.CreateObject("ADODB.Recordset")    
    
    
RS.PageSize 10
    RS
.CursorLocation 3
    RS
.CursorType 3    

Conex
.Open "DRIVER={SQL Server}; SERVER=(LOCAL); DATABASE=predator; Uid=sa; PWD=;"

SQLGraba "SELECT ide_gra, ide_eje, fec_hor_ini_gra, dur_gra, ip_gra, est_gra, lin_gra FROM gras WHERE ide_eje IN (SELECT ide_eje FROM ejes WHERE ide_ser ="&servicio&");"                

RS.Open SQLGrabaConex


accesoGrabaciones 
Request.QueryString("accesoGrabaciones")                        
        
        If 
accesoGrabaciones "1" Or accesoGrabaciones "" Then 
            accesoGrabaciones 
"1"
        
End If
    
        If 
Not (RS.EOFThen ' indicamos que página debe mostrar
            RS.AbsolutePage = accesoGrabaciones
        End If                    
    

For i = 1 to 10 ' 
hacemos un loop con la cantidad de registros especificados en rs.pagesizepara q solo muestre esa cantidad
    
If Not RS.EOF Then  verificamos cada vez que no sea fin de archivo                                                


        Response
.Write(vbTab "<tr>")
        
Response.Write("<td height=""93%""><span class=""estiloTablas"">"&RS("ide_gra")&"</span></td>"&vbcrlf)


        
RS.MoveNext
    End 
If
Next    %>


<%        
If 
accesoGrabaciones "1" Then %>                            
    <
td width="25%" align="center"> << </td>
    <
td width="25%" align="center"> < </td>
<%Else%>
    <
td width="25%" align="center"><a href="accesoGrabaciones.asp?accesoGrabaciones=0"> << </a></td>
    <
td width="25%" align="center"><a href="accesoGrabaciones.asp?accesoGrabaciones=<%=accesoGrabaciones-1%>"> < </a></td>    
<%    
End If %>

        <!-- 
Navegación hacia páginas posteriores-->

<%        If 
int(accesoGrabaciones) => RS.pageCount Then %>
            <
td width="25%" align="center"> > </td>
            <
td width="25%" align="center"> >> </td>
<%        Else%>
            <
td width="25%" align="center"><a href="accesoGrabaciones.asp?accesoGrabaciones=<%=accesoGrabaciones + 1 %>"> > </a></td>
            <
td width="25%" align="center"><a href="accesoGrabaciones.asp?accesoGrabaciones=<%=RS.PageCount%>"> < </a></td>
<%        
End If %> 
ya no se que hacer...

help please a todos!!
salu2.-
__________________

<nick>Dorita</nick>...si lo sé, soy una ñoña ;)
  #5 (permalink)  
Antiguo 28/10/2005, 13:12
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
<a href="accesoGrabaciones.asp?Servicio=<%=servicio%>&accesoGrabaciones=<%=accesoGrabaciones + 1 %>">
__________________
JuanRa Pérez
San Salvador, El Salvador
  #6 (permalink)  
Antiguo 28/10/2005, 13:44
Avatar de Dorita  
Fecha de Ingreso: junio-2005
Ubicación: Entre la silla y el escritorio
Mensajes: 97
Antigüedad: 19 años
Puntos: 0
Gracias JuanRAPerez por tu ayuda y tu tiempo, ahora si funciona, se lo puse eso si al select que me causaba problemas, quedo así:

Código HTML:
<select name="lstBx_Servicio" onChange="location.href('MantenedorEjec.asp?plataforma=<%="&Server.URLEncode(servicio)&"%>&ServicioId=' +
					MantenedorEjec.lstBx_Servicio.options[MantenedorEjec.lstBx_Servicio.selectedIndex].value)">
					<option selected value="0">[Seleccione Servicio]</option> 
muchísimas gracias, espero devolverte algun dia la mano.-

NOTA: esto es la solucion a otra consulta realizada en otro post y en la cual JuanRAPerez me estaba ayudando. lo del problema de paginación todavía continua...
__________________

<nick>Dorita</nick>...si lo sé, soy una ñoña ;)
  #7 (permalink)  
Antiguo 28/10/2005, 14:17
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
pero de la paginacion tiene que ver que cuando le das apagina dos te cambia la cantidad de paginas

y te aprecen resutlados diferentes

revisa si te lelvas la variable de la palabra en los url de enlaces de pie de pagina
__________________
JuanRa Pérez
San Salvador, El Salvador
  #8 (permalink)  
Antiguo 31/10/2005, 12:45
Avatar de Dorita  
Fecha de Ingreso: junio-2005
Ubicación: Entre la silla y el escritorio
Mensajes: 97
Antigüedad: 19 años
Puntos: 0
a

Hola a todos, estaba algo perdida del post por q pense que el error que m da al hacerle un filtro a la consulta q hago a la bd, (sólo la primera página muestra el resultado de la consulta con filtro, el resto muestra todos los resultados sin ningun orden) era un error mio, pero viendo mi codigo (q segun yo esta bien) y leyendo distintos post veo q el problema le sucede a bastantes compañeros. Incluso, pensando q el sistema de paginacion que usaba etaba mal, lo cambie, y ahora ocupo uno con getRows (mucho mas rápido y eficaz), pero con este igual sucede lo mismo. alguien tiene una remota idea de lo q se puede hacer para poder paginar sin problemas colocándole distintos filtros a la consulta?
salu2.-
__________________

<nick>Dorita</nick>...si lo sé, soy una ñoña ;)
  #9 (permalink)  
Antiguo 31/10/2005, 12:46
Avatar de Dorita  
Fecha de Ingreso: junio-2005
Ubicación: Entre la silla y el escritorio
Mensajes: 97
Antigüedad: 19 años
Puntos: 0
no funciona todavia...

Hola a todos,

estaba algo perdida del post por q pense que el error que m da al hacerle un filtro a la consulta q hago a la bd, (sólo la primera página muestra el resultado de la consulta con filtro, el resto muestra todos los resultados sin ningun orden) era un error mio, pero viendo mi codigo (q segun yo esta bien) y leyendo distintos post veo q el problema le sucede a bastantes compañeros. Incluso, pensando q el sistema de paginacion que usaba estaba mal, lo cambie, y ahora ocupo uno con getRows (mucho mas rápido y eficaz), pero con este igual sucede lo mismo. alguien tiene una remota idea de lo q se puede hacer para poder paginar sin problemas colocándole distintos filtros a la consulta?

salu2.-
__________________

<nick>Dorita</nick>...si lo sé, soy una ñoña ;)
  #10 (permalink)  
Antiguo 31/10/2005, 14:10
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
bueno espero no confundirte

tenes que hacer bien tu formulario y saber cuales son las variables que pasas

imageinemonos que tendras


Yo mando un formulario en dodne recogo varias cosas y entre ellas

Ordenar por:
+ descripción
+ casa
+ existencias

Tipo:
+ ascendente
+ descendente

y las mando de esta forma en el formulario

Cita:
<form method="GET" action="buscar_avanzado_resultados.asp">

///aqui va mas codigo///


<p>Ordenar por</p>
<table border="0" cellpadding="0" cellspacing="0" width="249">
<tr>
<td width="20">

<input type="radio" value="V1" name="orden1" checked></td>
<td width="76">
descripción</td>
<td width="29">

<input type="radio" value="V1" name="orden2" checked></td>
<td width="38">
casa</td>
<td width="21">

<input type="radio" value="V1" name="orden" checked></td>
<td width="69">
existencias</td>
</tr>
<tr>
<td width="20">

<input type="radio" name="alf1" value="V1" checked></td>
<td width="76">
ascendente</td>
<td width="29">

<input type="radio" name="alf" value="V1" checked></td>
<td width="127" colspan="3">
descendente</td>
</tr>
</table>
</form>


y recogo las variables asi:

algunas las defino solo para impresion

Cita:
orden = request.querystring("orden")
if orden = "descripcion" then
Morden = "descripcion"
else
if orden = "nom_casa" then
Morden = "nombre de casa"
end if
Morden = "existencias"
end if
alf = request.querystring("alf")
if alf = "asc" then
MOrderBy = "ascendente"
else
MOrderBy = "descendente"
end if
y hago mi sql mas o menos asi:

Cita:
strsql = "SELECT * FROM DESCRIPCION order by "& orden & " "&alf
y en mis enlaces de paginacion paso:

Cita:
<a href="buscar_avanzado_resultados.asp?eje=30&page=< %= pagina_actual - 1 %>&orden=<%=orden%>&alf=<%=alf%>">
para pasar el nombre del campo por el que quiero que se ordene y ademas si lo quiero ascendente o descendente

Si te perdi mas lo siento pero hoy es lunes y no ando muchas ganas de nada :P
__________________
JuanRa Pérez
San Salvador, El Salvador
  #11 (permalink)  
Antiguo 31/10/2005, 14:44
Avatar de Dorita  
Fecha de Ingreso: junio-2005
Ubicación: Entre la silla y el escritorio
Mensajes: 97
Antigüedad: 19 años
Puntos: 0
Gracias JuanRAPerez, te has portado un siete conmigo y m has contestado todos los post...
claro, lo q dices tu debería funcionar, pero como t explicaba, tengo muchos tipos de consultas sql distintas, dependiendo de q opcion haya seleccionado el usuario, y para evitarme pasar por parámetros tantas variables, cambié mi método por getRows, donde yo hago sólo una vez la consulta sql a la bd, dejo todos los datos en un array bidimensional, y sólo los datos que traigo en el array son los q pagino. en este caso, yo tengo lo siguiente:

Código PHP:
If (ckIdEjec "si" And Len(rescateIdEjecutivo) > 0Then                
            SQLGraba 
"SELECT ide_gra, ide_eje, fec_hor_ini_gra, dur_gra, ip_gra, est_gra, lin_gra FROM gras WHERE ide_eje ="&rescateIdEjecutivo&";"                             
        
ElseIf (ckIdEjec "si" And Len(rescateIdEjecutivo) > And ckFecha "ckFecha"Then
            
If (rescateFechaInicio <> "" And rescateFechaFin <> ""Then
                SQLGraba 
"SELECT ide_gra, ide_eje, fec_hor_ini_gra, dur_gra, ip_gra, est_gra, lin_gra FROM gras WHERE fec_hor_ini_gra BETWEEN "&rescateFechaInicio&" AND "&rescateFechaFin&";"                
            
End If
...

Else
            
SQLGraba "SELECT ide_gra, ide_eje, fec_hor_ini_gra, dur_gra, ip_gra, est_gra, lin_gra FROM gras WHERE ide_eje IN (SELECT ide_eje FROM ejes WHERE ide_ser ="&servicio&");"                
        
End If            


        
RS.CursorType ' Vamos a utilizar el recordset más eficiente: cursorType = Forward-Only
        RS.LockType = 1 ' 
LockType Read-Only
        RS
.CursorLocation ' Cursorlocation = adUseClient
        
        RS.Open SQLGraba, Conex '
Y abrimos el Recordset
        aDatos 
RS.GetRows Obtengo los datos con GetRows 
y aDatos es el array q supuestamente pagino... entonces no debería pasar en este caso el q yo avanze a la siguiente pagina y se pierda la primera consulta realizada. o no?
alguna sugerencia?
muchisimas gracias y salu2.-
__________________

<nick>Dorita</nick>...si lo sé, soy una ñoña ;)
  #12 (permalink)  
Antiguo 02/11/2005, 06:32
Avatar de Dorita  
Fecha de Ingreso: junio-2005
Ubicación: Entre la silla y el escritorio
Mensajes: 97
Antigüedad: 19 años
Puntos: 0
Paginación de resultados de búsqueda con getRows

Hola a todos los foreros....nadie ha tenido algun problema similar de paginación de resultados de una búsqueda? alguien tiene alguna idea? please????
Cualquier ayuda será agradecida....
salu2.-
__________________

<nick>Dorita</nick>...si lo sé, soy una ñoña ;)
  #13 (permalink)  
Antiguo 02/11/2005, 08:47
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 6 meses
Puntos: 144
Algo como esto no te valdría:
Suponiendo que la página se llama "libros.asp", y que puedes buscar por titulo, o por autor, en el enlace de página siguiente, saldría algo así:
Código:
<A HREF="libros.asp?pagina=<%=pagina_actual+1%>&titulo=<%=request.querystring("titulo")%>&autor=<%=request.querystring("autor")%>" >Siguiente <STRONG>»</STRONG></A>
Resumiendo, que debes pasar el valor del querystring (o de una variable que tome el valor del querystring), en el propio enlace para que te siga mostrando en las páginas con link, aquellos registros que cumplen el criterio de búsqueda (en caso contrario te muestra todos los registros de la sentencia sql).
  #14 (permalink)  
Antiguo 03/11/2005, 16:10
Avatar de Dorita  
Fecha de Ingreso: junio-2005
Ubicación: Entre la silla y el escritorio
Mensajes: 97
Antigüedad: 19 años
Puntos: 0
Paginación de resultados de búsqueda con getRows OK

Muchas Gracias a todos, en especial a JuanRAPerez q m contesto todos los post y tuvo muy buena voluntad siempre para responder....
ya lo resolvi, el problema (no se por q aun) eran los checkbox q tenía al lado de cada filtro para indicar q lo deseaba utilizar...los saque del código y mi paginación de resultados de una busqueda funcionó altiro! les pongo el código por si alguien lo necesita:

Código PHP:
If Not(IsNumeric(Request.QueryString("idGrupo"))) Then
            rescateIdGrupo 
""
        
ElseIf (Request.QueryString("idGrupo") <> ""Then
            rescateIdGrupo 
Request.QueryString("idGrupo")                     
        Else
            
rescateIdGrupo Request.QueryString("IdeGrupo")
        
End If                
        
         
        If (
Request.QueryString("txt_idEjec") <> "")Then
            rescateIdEjecutivo 
Request.QueryString("txt_idEjec")
        Else
            
rescateIdEjecutivo request.QueryString("idEjecuti")
        
End If                
        
        
        If (
Request.QueryString("txt_fecha1") <> "")Then
            rescateFechaInicio 
Request.QueryString("txt_fecha1")
        Else
            
rescateFechaInicio Request.QueryString("FechaInicio")
        
End If        
                
        
        If (
Request.QueryString("txt_fecha2") <> "")Then
            rescateFechaFin 
Request.QueryString("txt_fecha2")                        
        Else
            
rescateFechaFin Request.QueryString("FechaFin")
        
End If                
        
        
rescateCodGraba Request.QueryString("txt_codGra")
                                                                
        
RS.CursorType ' Vamos a utilizar el recordset más eficiente: cursorType = Forward-Only
        RS.LockType = 1 ' 
LockType Read-Only
        RS
.CursorLocation ' Cursorlocation = adUseClient
        
        If (Len(rescateIdEjecutivo) = 5 And rescateFechaInicio = "" And rescateFechaFin = "") Then    '
busqueda solo por id de ejecutivo            
            SQLGraba 
"SELECT ide_gra, ide_eje, fec_hor_ini_gra, dur_gra, ip_gra, est_gra, lin_gra FROM gras WHERE ide_eje ="&rescateIdEjecutivo&";"                             
        
ElseIf (Len(rescateIdEjecutivo) = And rescateFechaInicio <> "" And rescateFechaFin <> ""Then 'busqueda por ejecutivo y rango de fechas
                SQLGraba = "SELECT ide_gra, ide_eje, fec_hor_ini_gra, dur_gra, ip_gra, est_gra, lin_gra FROM gras WHERE ide_eje ="&rescateIdEjecutivo&" AND fec_hor_ini_gra BETWEEN '"&rescateFechaInicio&"' AND '"&rescateFechaFin&"';"                
        ElseIf (rescateIdGrupo <> "" And rescateFechaInicio = "" And rescateFechaFin = "") Then '
busqueda solo por grupo
                SQLGraba 
"SELECT ide_gra, ide_eje, fec_hor_ini_gra, dur_gra, ip_gra, est_gra, lin_gra FROM gras WHERE ide_eje IN (SELECT ide_eje FROM ejes WHERE ide_gru = "&rescateIdGrupo&" AND ide_ser = "&servicio&");"                
        
ElseIf (rescateIdGrupo <> "" And rescateFechaInicio <> "" And rescateFechaFin <> ""Then 'busqueda por grupo y rangos de fecha
                SQLGraba = "SELECT ide_gra, ide_eje, fec_hor_ini_gra, dur_gra, ip_gra, est_gra, lin_gra FROM gras WHERE ide_eje IN (SELECT ide_eje FROM ejes WHERE ide_gru = "&rescateIdGrupo&" AND ide_ser = "&servicio&") AND fec_hor_ini_gra BETWEEN '"&rescateFechaInicio&"' AND '"&rescateFechaFin&"';"                    
        ElseIf (Len(rescateIdEjecutivo) < 1 And rescateIdGrupo = "" And rescateFechaInicio <> "" And rescateFechaFin <> "") Then '
busqueda solo por rangos de fecha        
                SQLGraba 
"SELECT ide_gra, ide_eje, fec_hor_ini_gra, dur_gra, ip_gra, est_gra, lin_gra FROM gras WHERE ide_eje IN (SELECT ide_eje FROM ejes WHERE ide_ser ="&servicio&") AND fec_hor_ini_gra BETWEEN '"&rescateFechaInicio&"' AND '"&rescateFechaFin&"';"                
        
ElseIf (Len (rescateCodGraba) > And Len(rescateIdEjecutivo) < And rescateFechaInicio "" And rescateFechaFin ""Then  busqueda por codigo de grabaci&#243;n
                
SQLGraba "SELECT ide_gra, ide_eje, fec_hor_ini_gra, dur_gra, ip_gra, est_gra, lin_gra FROM gras WHERE ide_gra ="&rescateCodGraba&";"        
        
Else
            
SQLGraba "SELECT ide_gra, ide_eje, fec_hor_ini_gra, dur_gra, ip_gra, est_gra, lin_gra FROM gras WHERE ide_eje IN (SELECT ide_eje FROM ejes WHERE ide_ser ="&servicio&");"                
        
End If 
__________________

<nick>Dorita</nick>...si lo sé, soy una ñoña ;)
  #15 (permalink)  
Antiguo 03/11/2005, 16:10
Avatar de Dorita  
Fecha de Ingreso: junio-2005
Ubicación: Entre la silla y el escritorio
Mensajes: 97
Antigüedad: 19 años
Puntos: 0
Código PHP:
<table border="1">
            <
tr>
                   <
th width="14%" height="36" scope="col"><span class="estiloTablas">Id Grabaci&oacute;n</span></th>
                   <
th width="8%" scope="col"><span class="estiloTablas">Id Ejecutivo</span></th>
                <
th width="12%" scope="col"><span class="estiloTablas">Fecha grabaci&oacute;n</span></th>
                   <
th width="8%" scope="col"><span class="estiloTablas">Duración  Grabaci&oacute;n</span></th>
                  <
th width="13%" scope="col"><span class="estiloTablas">Ip Grabaci&oacute;n</span></th>
                  <
th width="11%" scope="col"><span class="estiloTablas">Estado</span></th>
                <
th width="12%" scope="col"><span class="estiloTablas">Link Grabaci&oacute;n</span></th>
                <
th width="10%" scope="col"><span class="estiloTablas">Descargar Grabaci&oacute;n</span></th>
              </
tr>                
        
<%        
RS.Open SQLGrabaConex 'Y abrimos el Recordset
        If (RS.EOF) Then %>        
        <tr>
            <td height="93%" align="center"><span class="estiloTablas">Sin datos</span></td>
            <td align="center"><span class="estiloTablas">Sin datos</span></td>
            <td align="center"><span class="estiloTablas">Sin datos</span></td>
            <td align="center"><span class="estiloTablas">Sin datos</span></td>
            <td align="center"><span class="estiloTablas">Sin datos</span></td>
            <td align="center"><span class="estiloTablas">Sin datos</span></td>
            <td align="center"><span class="estiloTablas">Sin datos</span></td>
            <td align="center"><span class="estiloTablas">Sin datos</span></td>
        </tr>
<%                    
        Else
            aDatos = RS.GetRows '
Obtengo los datos con GetRows        
            pag 
CInt(Request.QueryString("P")) 'Obtengo la pagina a mostrar de la queryString
            iEstado = PaginarGR (10, pag, aDatos) ' 
y llamo a paginaGR
        End 
If

        
RS.Close 'Cierro y limpio los objetos
        Set RS = Nothing
        Conex.Close
        Set Conex = Nothing                            
        
        '
====================================================================================================================
        
'PaginarGR -- pagina un vector bidimensional
        '
vector es el vector a paginariPag la pagina a mostrar y iRegsPorPag el nº de registros por cada página q queremos.
        
'====================================================================================================================
        
        Function paginarGR (iRegsPorPag, iPag, vector)
            Dim I, J ' 
IJ se utilizan para recorrer el vector
            Dim iPaginas
iPaginaActual ' total de páginas y la página que queremos mostrar
            Dim iTotal, iComienzo, iFin '
total de registrosregistro en q empezamos y registro en q terminamos
        
            iTotal 
UBound(aDatos,2)+'hallo el total de registos devueltos
            iPaginas = (iTotal \ iRegsPorPag) '
calculo el numero de páginas que tenemos
            
            
If iTotal mod iRegsPorPag 0 Then ' si da decimales, añado una mas para mostrar los últimos registros
                iPaginas = iPaginas + 1
            End If
            
            If iPag < 1 Then ' 
si no es una página válidacomienza en la primera
                ipag 
1
            End 
If
            
            If 
iPag iPaginas Then 'Si es una página mayor al nº de páginas, comienzo en la última
                iPag = iPaginas
            End If
            
            Response.Write("P&aacute;gina "&iPag& " de " &iPaginas& " ("&iTotal&" Registros) <br>")
            iComienzo = (iPag-1)*iRegsPorPag '
Calculo el índice donde comienzo:            
            
iFin iComienzo + (iRegsPorPag -1' y donde termino
            
            If iFin > UBound (vector, 2) Then ' 
Si no tengo suficientes registros restantesvoy hasta el final
                
iFin UBound(vector2)             
            
End If
                                                    
            For 
iComienzo to iFin
                Response
.Write("<tr onMouseOver=""resaltar(this)"" onMouseOut=""normal(this)"" onClick=""marcar(this)"">")                                    
                    
Response.Write ("<td>" &vector(ideGrabacion,I)& "</td>")                    
                    
Response.Write ("<td>" &vector(idEjecutivo ,I)& "</td>")                    
                    
Response.Write ("<td>" &vector(fechaGrab ,I)& "</td>")                    
                    
Response.Write ("<td>" &vector(duracionGra ,I)& "</td>")                    
                    
Response.Write ("<td>" &vector(ipGrabacion ,I)& "</td>")                    
                    
Response.Write ("<td>" &vector(estGrabacion ,I)& "</td>")    
                    
                    If (
vector(linkGrabacionI) <> ""Then
                        linGra 
vector(linkGrabacionI)
                        
DeslinGra Replace(linGra"mms://""http://")
                        
Response.Write ("<td align=""center"">" &"<a href="&linGra&">""Ver Grabaci&oacute;n" "</a>" "</td>")    
                        
Response.Write ("<td align=""center"">" &"<a href="&DeslinGra&">""Ver Grabaci&oacute;n" "</a>" "</td>")    
                    Else
                        
Response.Write ("<td align=""center"">" &"<span class=""comoLinks"">""Sin Grabaci&oacute;n" "</span>" "</td>")    
                        
Response.Write ("<td align=""center"">" &"<span class=""comoLinks"">""No Disponible" "</span>" "</td>")    
                    
End If
                                        
                    
Response.Write("</tr>")                                                                                                                                                                    
            
Next
%>
          </
table>            
            
<%                    

            
Response.Write("<br>")
            If 
iPag 1 Then 'Imprimo enlaces, si son necesarios                
                    Response.Write("<a href=""accesoGrabaciones.asp?idEjecuti="&Server.URLEncode(rescateIdEjecutivo)&"&IdeGrupo="&Server.URLEncode(rescateIdGrupo)&"&FechaInicio="&Server.URLEncode(rescateFechaInicio)&"&FechaFin="&Server.URLEncode(rescateFechaFin)&"&P="&iPag-1&"""><b>[<< Anterior]</b></a>&nbsp;&nbsp;")
            End If
                        
            
            For K = 1 To iPaginas ' 
mostramos la paginacion por numeros de página
                
If iPag Then   
                    Response
.Write("" &K"&nbsp;")
                Else          
                      
Response.Write("<a Href=""accesoGrabaciones.asp?idEjecuti="&Server.URLEncode(rescateIdEjecutivo)&"&IdeGrupo="&Server.URLEncode(rescateIdGrupo)&"&FechaInicio="&Server.URLEncode(rescateFechaInicio)&"&FechaFin="&Server.URLEncode(rescateFechaFin)&"&P="&K&"""><b>"&K&"</b></a>&nbsp;&nbsp;")                    
                
End If
            
Next I
 
        
            
If iPag <iPaginas Then
                Response
.Write("<a Href=""accesoGrabaciones.asp?idEjecuti="&Server.URLEncode(rescateIdEjecutivo)&"&IdeGrupo="&Server.URLEncode(rescateIdGrupo)&"&FechaInicio="&Server.URLEncode(rescateFechaInicio)&"&FechaFin="&Server.URLEncode(rescateFechaFin)&"&P="&iPag+1&"""><b>[<< Siguiente]</b></a>&nbsp;")
            
End If
            
            
PaginarGR 0
        End 
Function 

Salu2 nuevamente a todos los que se dieron la molestia de responder, y gracias!
__________________

<nick>Dorita</nick>...si lo sé, soy una ñoña ;)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:02.