coloquei os comentários ...
<!--#include file="Conexao_bd.asp" -->
<%
Dim SQL, rst, Contador, i, Pagina, Origem, Categoria
Categoria = Request("Categoria") 'valor do parâmetro
Pagina = trim(Request("Pag")) 'página a ser exibida
SQL = "SELECT Filmes.[Codigo do filme], Filmes.[Codigo da categoria], Filmes.[Tipo produto], Categorias.[Nome da categoria], Filmes.[Nome do filme] FROM Categorias INNER JOIN Filmes ON Categorias.[Codigo da categoria] = Filmes.[Codigo da categoria] WHERE Filmes.[Codigo da categoria] = " & Categoria & " ORDER BY Categorias.[Nome da categoria], Filmes.[Nome do filme];"
Set rst = server.createobject("adodb.recordset")
rst.open SQL, vgdb, 1, 1
if rst.eof then
Response.Redirect("Default.asp")
end if
if Pagina = "" then Pagina = 1 'se a página vier em branco mostra a primeira
Contador = ((Pagina - 1) * 42 ) + 1 'registro inicial (exemplo página2: (2 -1) * 42 + 1 = 42 + 1 = 43 -> registro inicial = 43 )
rst.pagesize = 42 'número de registros por página
rst.absolutepage = Pagina 'página a ser motrada
%>
...
<%
while not rst.eof And Contador <= (rst.PageSize * Pagina)'enquanto não chegar no fim da tabela
%>
<tr>
<td width="70%"><a href="Lista_Filme_Detalhes.asp?Codigo=<% = rst("Codigo do filme") %>" class="LinkPadraoLista">
<% = rst("Nome do filme") %></td>
<td width="30%"><font class="TextoPadraoPreto">
<% = rst("Nome da categoria") %>
</font></td>
</tr>
<%
Contador = Contador + 1
rst.movenext
wend
%>
...
<%
if rst.PageCount > 1 then 'se tiver mais de 1 página
if Pagina = 1 then 'se for a página 1, mostra somente o link para a próxima
Response.Write("<div align=" & "right" & "><a href="& "Consulta_Filme_Categoria_Resultado.asp?Pag=" & (Pagina + 1) & "&Categoria=" & Categoria & " class=" & "'LinkPadraoLista'" & "><strong>Próxima</strong></a></div>")
else 'se não
If (Pagina + 1) > rst.pagecount then 'se a próxima página for maior que o número de página, mostra somente o link para a anterior
Response.Write("<div align=" & "right" & "><a href="& "Consulta_Filme_Categoria_Resultado.asp?Pag=" & (Pagina - 1) & "&Categoria=" & Categoria & " class=" & "'LinkPadraoLista'" & "><strong>Anterior</strong></a></div>")
elseif (Pagina - 1) < 1 then 'se a página anterior for menor que 1 (estamos na pa´gina 1) mostra somente o link para a próxima
Response.Write("<div align=" & "right" & "><a href="& "Consulta_Filme_Categoria_Resultado.asp?Pag=" & (Pagina + 1) & "&Categoria=" & Categoria & " class=" & "'LinkPadraoLista'" & "><strong>Próxima</strong></a></div>")
else 'se não, mostra o link para a página anterior e para a próxima página
Response.Write("<a href="& "Consulta_Filme_Categoria_Resultado.asp?Pag=" & (Pagina - 1) & "&Categoria=" & Categoria & " class=" & "'LinkPadraoLista'" & "><strong>Anterior - </strong></a>" & "<a href="& "Consulta_Filme_Categoria_Resultado.asp?Pag=" & (Pagina + 1) & "&Categoria=" & Categoria & " class=" & "'LinkPadraoLista'" & "><strong>Próxima</strong></a>")
end if
end if
end if
rst.close
set rst = nothing
%>