paginar.....

julian
10 de Julio del 2003
Tengo un problema al paginar un recordset, este solamente me pagina las 12 primeras paginas del mismo, no se por que?

PINXOS
10 de Julio del 2003
Hola buenas a todos, me gustara saber, si es que me pueden contestar, es como hacer la paginacion de una consulta. En dicha consulta pido al usuario que me marque varias opciones , con checkbox, combos, combos multiples...y todo va...pero a la hora de hacer la paginacion, le he de enviar la cadena Request.QueryString, y es en este momento en el que se produce el problema, ojala pudiras ayudarme porque es urgente, muchas gracias de antemano! les adjunto el codigo de la paginacion por si les es de ayuda a alguien, gracias!

<%
If RS.PageCount > 1 then
If iCurrentPage <> 1 then
Response.Write "<font face='Verdana' size=2><a href=""altalistado.asp?" & Request.QueryString & iCurrentPage -1 & """>Pgina anterior</a></font>"
Else
Response.Write "<font face='Verdana' size=2>Pgina Anterior</font>"
End If

For intCount = 1 to RS.PageCount
If intCount = 1 then
Response.Write " | "
End If
If intCount = iCurrentPage then
Response.Write "<font face='Verdana' size=2>" & intCount & " | </font>"
Else
Response.Write "<font face='Verdana' size=2><a href=""altalistado.asp?" & Request.QueryString & intCount & """>"& intCount & "</a> | </font>"
End If
Next


If Request.QueryString("page") = "" Then
iCurrentPage = 1
Else
iCurrentPage = CInt(Request.QueryString("page"))
End If
RS.PageSize = postsperpage
If RS.PageCount > 0 then
RS.AbsolutePage = iCurrentPage
Else
iCurrentPage = 0
End If
Session("CurrentPage") = iCurrentPage
indents=0
do while RS.AbsolutePage = iCurrentPage And Not RS.EOF


If iCurrentPage <> RS.PageCount then
Response.Write "<font face='Verdana' size=2><a href=""altalistado.asp?" & Request.QueryString & iCurrentPage + 1 & """>Prxima Pgina</a></font>"
Else
Response.Write "<font face='Verdana' size=2>Prxima Pgina</font>"
End If
End If
Response.Write "<br>"
%>
<%
Response.Write "<font face='Verdana' size=2>Pgina " & iCurrentPage & " de " & RS.PageCount & "</font>"
%>

julian
10 de Julio del 2003
aqui tienes un codigo para que lo veas, aparte cuando creas un vinculo a otra pagina y quieres pasarle variables deves de crearlas y asignarle el valor, no?, yo por lo menos lo hago asi pj: href="otrapagina.asp?var1=<%=request.querystring("variable")%>" el codigo.......

<HTML>
<HEAD>
<TITLE> Resultados </TITLE>
</HEAD>
<BODY bgcolor="#00FFFF"><CENTER>
<%
strconn = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("clinique.mdb")
Dim con,tabla',num_pag,re
Set con=Server.CreateObject("adodb.connection")
Set tabla=Server.CreateObject("adodb.recordset")
con.Open strconn
cod=cstr(request.querystring("v"))
if request.querystring("v")then
sql="select * from productos where cod_subgru='" & cod & "'"'& ucase(request("v"))
tabla.open sql,con,3,&H0001
end if
if request.QueryString("i")<>"" and (not tabla.eof or not tabla.bof)then
tabla.Absolutepage= request.QueryString("i")
else
tabla.Absolutepage=0
end if
tabla.PageSize=7
TotalPaginas=int(tabla.PageCount) 'numero de paginas TOTAL
TotalRegistros=tabla.RecordCount ' numeo de Registros TOTAL
if request("i")<>"" then
i=request("i")
else
i=1
end if

%>


<!-- muestra los primeros datos -->

<h1><FONT SIZE="100" COLOR="#6600FF">Resultados de la busqueda</FONT></h1>
<TABLE border="0">
<TR>
<TD>
<FONT SIZE="5" COLOR="#6600FF">Numero de Paginas : <% =TotalPaginas %></font>
</TD>
</TR>
<TR>
<TD>
<FONT SIZE="5" COLOR="#6600FF">Numero de registros por pagina :<% =tabla.PageSize %></font>
</TD>
</TR>
<TR>
<TD>
<FONT SIZE="5" COLOR="#6600FF">Numero de registros en total : <% =TotalRegistros %></font>
</TD>
</TR>
<TR>
<TD>
<FONT SIZE="5" COLOR="#6600FF">Numero de pagina actual :<%=request("i")%></font>
</TD>
</TR>
</TABLE>
<BR>
<%
totalCampos=tabla.Fields.Count 'numero total de campos
%>

<!-- muestra los datos da la BD junto con la Cabezera de los mismos -->
<CENTER><TABLE bordercolor="#009900" border="4" style="font-size=12;font-type=arial;">
<TR>
<td>
<TABLE>
<TR>
<% for ii=0 to totalcampos -1 %>
<TD style="font-size=12;font-type=arial;">
<CENTER><% =tabla(ii).name %>&nbsp;&nbsp;&nbsp;</CENTER>
</TD>
<% next %>
</TR>
</TABLE>
</td>
</tr><tr>
<TD><TABLE bgcolor="#006600" style="font-size=12;font-type=arial;">

<% j=0
'<!-- hacer un calculo para que sea menor que pagesize -->
'if request.querystring("t")<tabla.PageSize then
'<!-- -->
while (not tabla.eof) and (j<tabla.pagesize)
%>
<TR>
<% 'for ii=0 to totalcampos-1 %>
<TD style="font-size=12;font-type=arial;">
<CENTER><%=tabla.fields("codigo")%></CENTER>
</TD>
<% 'next %>
</TR>
<% tabla.movenext
j=j+1
wend
' end if%>
</TABLE>
</TD>
</TR>
</TABLE></CENTER>
<%desplazamiento_pagesize v ,i%>
<!-- Inicio menu del pagesice -->
<%function desplazamiento_pagesize(v,i)%>
<table valign=top style="font-size=12;font-type=arial;">
<tr>
<TD>
<FONT SIZE="5" COLOR="#6600ff" style="font-size=12;font-type=arial;">Ir a Pag </FONT>&nbsp;
</TD>
<td><% t=1 %>
<a HREF="noname1.asp?i=<% =t %>&v=<%=request.querystring("v")%>"> Primera </a>&nbsp;
</td>
<td >

<% t=i
if t=1 then
t=TotalPaginas
else t=t-1
end if
%>
<a HREF="noname1.asp?i=<% =t %>&v=<%=request.querystring("v")%>"> << </a>&nbsp;
</td>
<td>
<!-- muestra las paginas que salen ej: pag 1 2 3 -->
<CENTER><TABLE valign=top style="font-size=12;font-type=arial;">
<TR>
&nbsp;
<% for i=1 to tabla.pagecount %>
<TD valign=top>
<a HREF="noname1.asp?i=<% =i %>&v=<%=request.querystring("v")%>"> <% =i %> </a>&nbsp;&nbsp;
</TD><%if i mod 10=0 then%></tr><tr><%end if%>
<% next %>
</TR>
</TABLE></CENTER>
</td>
<td>
<% t=i
if int(t)<TotalPaginas then
t=t+1
else
t=1
end if
%>
<a HREF="noname1.asp?i=<% =t %>&v=<%=request.querystring("v")%>"> >> </a>&nbsp;
</td>
<td><% t=TotalPaginas %>
<a HREF="noname1.asp?i=<% =t %>&v=<%=request.querystring("v")%>">Ultima</a>
</td>
</tr>
</TABLE>

<% tabla.close
con.close
end function
%>
<!-- Fin menu del pagesize -->
</BODY>
</HTML>