Tengo el siguiente codigo en esta página de asp que tomé de un ejemplo que
encontré en Internet en www.aspfacil.com. Consiste en que llamo esta página
desde otra pasando los valores de las variable, entonces me crea una
paginación con los resultados, el problema que presento es que la primera
página me la presenta, pero las siguientes no me dan los resultados, noté es
que los valores de las variables se pierden cuando paso a la siguiente
paginación, ¿Cómo podría solucionar esto?
Gracias
<%
' Páginas en un recordset
Dim Periodo, Asignatura
Dim oConn, rs, SQL
Dim PaginaActual ' en qu página estamos
Dim PaginasTotales ' cuantas páginas tenemos
Dim TamPagina ' cuantos registros por página
Dim CuantosRegistros ' para imprimir solo el no. de registro por
página que queramos
Periodo=Request.Form("Periodo")
Asignatura=Request.Form("Asignatura")
'MODIFICAR AQUI PARA CAMBIAR EL No. DE REGISTRO POR PAGINA
TamPagina
'Leemos qué página mostrar. La primera vez ser la inicial
if Request.Querystring("pagina")="" then
PaginaActual=1
else
PaginaActual=CInt(Request.Querystring("pagina"))
end if
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
' Conexin por OLEDB
oConn.Open "DRIVER={SQL
Server};SERVER=miservidor;DATABASE=mibasededatos;UID=miusuario;PWD=mipassword"
SQL="SELECT * FROM Calificacion LEFT JOIN Estudiante ON
Calificacion.Matricula = Estudiante.Matricula LEFT JOIN Asignatura ON
Asignatura = Codigo WHERE Calificacion.Periodo = '"&Periodo&"' AND
Calificacion.Asignatura = '"&Asignatura&"' ORDER BY Periodo,
Calificacion.Matricula"
' Defino el tamaño de las páginas
rs.PageSize=TamPagina
rs.CacheSize=TamPagina
' Abro el recordset
rs.Open SQL, oConn, 1, 2
'Cuento las páginas
PaginasTotales=rs.PageCount
'Compruebo que la página actual está en el rango
if PaginaActual < 1 then
PaginaActual = 1
end if
if PaginaActual > PaginasTotales then
PaginaActual = PaginasTotales
end if
'Por si la consulta no devuelve registros!
if PaginasTotales=0 then
Response.Write("No se encontraron resultados.")
else
'Vamos a paginar
rs.AbsolutePage=PaginaActual
Response.Write("PAGINA " & PaginaActual & " DE " & PaginasTotales)
Response.Write("<br><br>")
Response.Write("<TABLE BORDER=""1"" ALIGN=""center""
STYLE=""font-size:75%"" ""BORDERCOLOR=#000000"">")
Response.Write("<CAPTION><B>RESULTADOS DE CALIFICACIONES</B></CAPTION>")
Response.Write("<TR><TD COLSPAN=""3""><B>PERIODO:
</B>"&rs.Fields("Periodo")&"</TD>")
Response.Write("<TR><TD COLSPAN=""3""><B>ASIGNATURA:
</B>"&rs.Fields("Descripcion")&"</TD>")
Response.Write("<TR><TD COLSPAN=""3"" BGCOLOR=""#475F70""
STYLE=""COLOR:#FFFFFF""><B>MATRICULA</B></TD>")
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#475F70""
STYLE=""COLOR:#FFFFFF""><B>NOMBRE</B></TD>")
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#475F70""
STYLE=""COLOR:#FFFFFF""><B>ASISTENCIA</B></TD>")
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#475F70""
STYLE=""COLOR:#FFFFFF""><B>TRABAJO PRACTICO</B></TD>")
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#475F70""
STYLE=""COLOR:#FFFFFF""><B>EXAMEN PARCIAL</B></TD>")
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#475F70""
STYLE=""COLOR:#FFFFFF""><B>EXAMEN FINAL</B></TD>")
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#475F70""
STYLE=""COLOR:#FFFFFF""><B>CALIFICACION</B></TD>")
CuantosRegistros=0
do while not rs.EOF and CuantosRegistros < TamPagina
'Pinto una lnea de la tabla por cada registro
Response.Write("<TR>"&VbCrLf)
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#CBEBDE""
STYLE=""#000000"">"&rs.Fields("Matricula")&"</TD>")
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#CBEBDE""
STYLE=""#000000"">"&rs.Fields("Nombre")&"</TD>")
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#CBEBDE""
STYLE=""#000000"">"&rs.Fields("Asistencia")&"</TD>")
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#CBEBDE""
STYLE=""#000000"">"&rs.Fields("TrabajoPractico")&"</TD>")
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#CBEBDE""
STYLE=""#000000"">"&rs.Fields("ExamenParcial")&"</TD>")
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#CBEBDE""
STYLE=""#000000"">"&rs.Fields("ExamenFinal")&"</TD>")
Response.Write("<TD COLSPAN=""3"" BGCOLOR=""#CBEBDE""
STYLE=""#000000"">"&rs.Fields("Asistencia") + rs.Fields("TrabajoPractico") +
rs.Fields("ExamenParcial") + rs.Fields("ExamenFinal")&"</TD>")
Response.Write("</TR>")
CuantosRegistros=CuantosRegistros+1
rs.MoveNext
loop
Response.Write("</TABLE>")
end if
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
'Muestro los enlaces
Response.Write("<hr>")
if PaginaActual > 1 then
Response.Write("<A HREF=calificacion.asp?pagina="& PaginaActual-1& ">10
Anteriores</A> ")
end if
if PaginaActual < PaginasTotales then
Response.Write("<A HREF=calificacion.asp?pagina=" & PaginaActual+1 &">10
Siguientes</A>")
end if
%>
<a href="VOLVER.htm">
Inicio
</a>
Leer las respuestas