Paginacion con varibles

Karina
30 de Mayo del 2005
hola tengo un problema con la paginacion de la pagina que estoy realizando primero estro a una pagina de consulta en la cual me envia una variable y en la pagina la recojo con Request.Form("Codigo") a la primera pagina me sale la busqueda pero si le doy siguiente se pierde y busca desde el comienzo y toda la tabla como puedo enviar una variable y que continue esa entre las paginas espero que me entiendan gracias

goteen_mx
30 de Mayo del 2005
lo que pasa es que no guardas el registro donde se quedo, lo que debes hacer es que si entras por primera vez haga la consulta desde cero, cuando le des siguiente la consulta se vuelve a hacer pero mueves el recorset a al registro a la pagina que desees para que te muestre los datos, para eso ocupas una variable donde le inicas la pagina en la que va, si no existe o es cero quiere decir que es la primera vez que entra

por qu no pones algo de tu codigo para que te podamos ayudar mejor

bye

Karina
30 de Mayo del 2005
aca te voy a copiar mi codigo haber si me entiedes y pueden ayudarme gracias
<TABLE cellSpacing=1 cellPadding=1 width="100%">
<TR><TD>
<%
Dim Conn, rs1, cadena,codigo
Dim PaginaActual ' en qué pagina estamos
Dim PaginasTotales ' cuántas páginas tenemos
Dim TamPagina ' cuantos registros por pagina
Dim CuantosRegistros ' para imprimir solo el nº de registro por pagina que queramos

TamPagina=15

if Request.Querystring("pagina")="" then
PaginaActual=1
else
PaginaActual=CInt(Request.Querystring("pagina"))
end if

set rs1=Server.CreateObject("ADODB.Recordset")

codigo=Request.Form("Codigo")

strconn = "Driver={SQL Server};SERVER=192.168.0.2; UID=sa;PWD=;DATABASE=TMB01"
set conn = server.CreateObject("ADODB.Connection")
conn.open strconn

cadena="Select distinct rtrim(p.cnombre)+' '+rtrim(p.capepat)+' '+rtrim(p.capemat) Paciente,cdescri,r.cprueba ,r.clocal0,right(r.ccodmue,6), "
cadena=cadena & "rtrim(n.cnombre)+ ' ' +rtrim(n.capepat)+ ' ' + rtrim(n.capemat),convert(char(10),dfecres,103) Fecresul,cbandas ,csustanc,ctipsus "
cadena=cadena & "from rwester r,mmuestr m, mpacien p,mnomina n ,vprueba v "
cadena=cadena & "Where m.ccodigo=p.ccodigo and r.ccodemp=n.ccodigo and r.ccodmue=m.ccodmue and "
cadena=cadena & "r.cprueba=v.cprueba and p.ccodigo like'" & codigo & "%'"
cadena=cadena & "union Select distinct rtrim(p.cnombre)+' '+rtrim(p.capepat)+' '+rtrim(p.capemat) Paciente,cdescri,f.cprueba,f.clocal0,right(f.ccodmue,6),"
cadena=cadena & "rtrim(n.cnombre)+ ' ' +rtrim(n.capepat)+ ' ' + rtrim(n.capemat),convert(char(10),dfecres,103) Fecresul,cresult ,csustanc,ctipsus "
cadena=cadena & "from rfelisa f,mmuestr m, mpacien p,mnomina n,vprueba v "
cadena=cadena & "Where m.ccodigo=p.ccodigo and f.ccodemp=n.ccodigo and f.ccodmue=m.ccodmue and f.cprueba=v.cprueba and "
cadena=cadena & "p.ccodigo like'" & codigo & "%'"
cadena=cadena & "union Select distinct rtrim(p.cnombre)+' '+rtrim(p.capepat)+' '+rtrim(p.capemat) Paciente,cdescri,i.cprueba,i.clocal0,right(i.ccodmue,6), "
cadena=cadena & "rtrim(n.cnombre)+ ' ' +rtrim(n.capepat)+ ' ' + rtrim(n.capemat),convert(char(10),dfecres,103) Fecresul,cresult ,csustanc,ctipsus "
cadena=cadena & "from rmicros i,mmuestr m, mpacien p,mnomina n ,vprueba v "
cadena=cadena & "Where m.ccodigo=p.ccodigo and i.ccodemp=n.ccodigo and i.ccodmue=m.ccodmue and i.cprueba=v.cprueba "
cadena=cadena & "and p.ccodigo like'" & codigo & "%'"
cadena=cadena & "order by Paciente,Fecresul "

rs1.PageSize=TamPagina
rs1.CacheSize=TamPagina

rs1.Open cadena, Conn, 1, 2

PaginasTotales=rs1.PageCount

if PaginaActual < 1 then
PaginaActual = 1
end if
if PaginaActual > PaginasTotales then
PaginaActual = PaginasTotales
end if

if PaginasTotales=0 then
Response.Redirect "Error0.asp"
else
rs1.AbsolutePage=PaginaActual
Response.Write("<p align=right><font face=verdana size=2 color=#006699><b>Pagina " & PaginaActual & " de " & PaginasTotales & "</b></font></p>")
Response.Write("<br>")
CuantosRegistros=0

dim nom,sus
nom=""
sus=""
do while not rs1.EOF and CuantosRegistros < TamPagina
if rs1.fields(0)<>"" then
cad="select cdescri from ttabdat where cnomtab='csustan' and cvaldat='"& rs1.fields(8) &"'"
cad1="select cdescri from ttabdat where cnomtab='ctipsus' and cvaldat='"& rs1.fields(9) &"'"
set cmd1=conn.Execute(cad)
set cmd2=conn.Execute(cad1)
if rs1.fields(0)<>nom then
sql="Select cdescri from ttabdat where cnomtab='clocal0' and cvaldat='" & rs1.fields(3) & "'"
set rs2=conn.Execute(sql)
if nom="" then%></TR>
</TABLE>
<%else%>
<DIV></DIV></TABLE><br><br>
<% end if
cadena1= "select csexoxx as sexo, convert(char(10),dfecnac,103),cdescri as depa from mpacien p, ttabdat t "
cadena1=cadena1 & " where rtrim(p.cnombre)+' '+rtrim(p.capepat)+' '+rtrim(p.capemat)like '"& rs1.fields(0) &"%' and cnomtab='cdepart' and p.cdepart=t.cvaldat "
set cmd=conn.Execute(cadena1) %>
<div align=center><font face=verdana size=2><b><%=rs1.fields(0)%></div>
<DIV align=center>&nbsp;</DIV>
<DIV align=center><font face=verdana size=1>NACIO: <%=cmd.fields(1)%>&nbsp;&nbsp;&nbsp;&nbsp; PROCEDIENTE: <%=Ucase(cmd.fields(2))%>&nbsp;&nbsp;&nbsp;&nbsp; SEXO : <%if cmd.fields(0)="M" then %> MASCULINO<%else%> FEMENINO<%End if%></DIV><%cmd.close%>
<DIV align=center>&nbsp;</DIV><DIV align=center>&nbsp;</DIV>
<div align=center>
<% Response.Write("<table width=80% >")
Response.Write("<tr bgcolor=Khaki>")
Response.Write("<th><font face=verdana size=1>LOCAL</th>")
Response.Write("<th><font face=verdana size=1>PRUEBA</th>")
Response.Write("<th><font face=verdana size=1>MUESTRA</th>")
Response.Write("<th><font face=verdana size=1>SUSTANCIA</th>")
Response.Write("<th><font face=verdana size=1>TIPO SUSTAN</th>")
Response.Write("<th><font face=verdana size=1>EMPLEADO</th>")
Response.Write("<th><font face=verdana size=1>FEC.RESUL</th>")
Response.Write("<th><font face=verdana size=1>RESULTADO</th>")
Response.Write("<th><font face=verdana size=1>DETALLE</th></tr>")%>
<tr bgcolor="Oldlace">
<td align ="center"><font face=verdana size=1><%=rs2.fields(0)%></td>
<td align ="center"><font face=verdana size=1><%=Ucase(rs1.fields(1))%></td>
<td align ="center"><font face=verdana size=1><%=rs1.fields(4)%></td>
<td align ="center"><font face=verdana size=1><%=Ucase(cmd1.fields(0))%></td>
<td align ="center"><font face=verdana size=1><%=ucase(cmd2.fields(0))%></td>
<td align="left"><font face=verdana size=1><%=rs1.fields(5)%></td>
<td align ="center"><font face=verdana size=1><%=rs1.fields(6)%></td>
<td align ="center"><font face=verdana size=1><%=rs1.fields(7)%></td>
<td align ="center">
<A onmouseover="window.status='Detalle
Individual';return true"
onmouseout ="window.status='Sistema Virtu@l CWGP01';return true" href="javascript:openwindow('<%=rs1.fields(0)%>','<%=rs1.fields(2)%>','<%=rs1.fields(4)%>','<%=rs1.fields(6)%>')" >
<IMG title="Ver Detalle" src="imagenes/b-detalle.gif" width="40%" border=0 ></a>
</td></tr>
<A onmouseover="window.status='Detalle
Total';return true"
onmouseout ="window.status='Sistema Virtu@l CWGP01';return true" href="javascript:openwindow1('<%=rs1.fields(0)%>')" >DETALLE TOTAL</a></div>

<%CuantosRegistros=CuantosRegistros+1
elseif rs1.fields(0)=nom then %>
<tr bgcolor="Oldlace">
<td align ="center"><font face=verdana size=1><%=rs2.fields(0)%></td>
<td align ="center"><font face=verdana size=1><%=Ucase(rs1.fields(1))%></td>
<td align ="center"><font face=verdana size=1><%=rs1.fields(4)%></td>
<td align ="center"><font face=verdana size=1><%=ucase(cmd1.fields(0))%></td>
<td align ="center"><font face=verdana size=1><%=ucase(cmd2.fields(0))%></td>
<td align="left"><font face=verdana size=1><%=rs1.fields(5)%></td>
<td align ="center"><font face=verdana size=1><%=rs1.fields(6)%></td>
<td align ="center"><font face=verdana size=1><%=rs1.fields(7)%></td>
<td align ="center">
<A onmouseover="window.status='Detalle
Individual';return true"
onmouseout ="window.status='Sistema Virtu@l CWGP01';return true" href="javascript:openwindow('<%=rs1.fields(0)%>','<%=rs1.fields(2)%>','<%=rs1.fields(4)%>','<%=rs1.fields(6)%>')" >
<IMG title="Ver Detalle" src="imagenes/b-detalle.gif" width="40%" border=0 ></a>
</td></tr>
<%end if
end if
nom=rs1.fields(0)
rs1.MoveNext
loop
rs1.close
rs2.close
cmd1.close
cmd2.close
Response.Write("</TABLE>")

Conn.Close
set rs1=nothing
set Conn=nothing

%>
<DIV align=center>&nbsp;</DIV>
<DIV></DIV>
<br><hr color=lightsteelblue size=3>
<table style="WIDTH: 100%" width="100%"><tr><td>
<A onmouseover="window.status='Volver a Consultar X
Paciente';return true" title
="Regresar a Pacientes" onmouseout="window.status='Sistema Virtu@l CWGP01';return true" href="Pacientes.asp" ><img align=left src="imagenes/regconsulta.gif" border=0></a>
</td>
<td align=right>
<%
if PaginaActual > 1 then
Response.Write("<font face=verdana size=2 color=#006699><A HREF=consultacodigo.asp?pagina="& PaginaActual-1& ">15 Anteriores</A></font>&nbsp;&nbsp;&nbsp;")
end if
if PaginaActual < PaginasTotales then
Response.Write("<font face=verdana size=2 color=#006699><A HREF=consultacodigo.asp?pagina=" & PaginaActual+1 &">15 Siguientes</A></font>")
end if
%>
</td></tr>
</table>