Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hunger

erro com paginação

Recommended Posts

olá comunidade!

 

Tentei incluir paginação em um arquivo aqui mas está dando o seguinte erro:

 

 

*************************************************

 

Microsoft VBScript compilation error '800a0400'

 

Expected statement

 

/noticias/lista2.asp, line 143

 

Wend 'fim do loop

^

 

**************************************************

 

Vou passa o código abaixo, indicando a linha 143 com uma sequencia de *****:

 

<%@LANGUAGE="VBSCRIPT"%><% 'Efetuando a conexão com a base de dados criada -----------------------Set Conn = Server.CreateObject("AdoDb.Connection") Conn.provider="Microsoft.Jet.OLEDB.4.0" Conn.connectionstring="e:\home\dad\dados\BancoNoticias.mdb" Conn.open '--------------------------------------------------------------------------'Vamos criar o objeto Record Set -> neste caso é necessário declará-lo,'pois vamos utilizar algumas funções deste objeto Set RS = Server.CreateObject("adodb.recordset")RS.PageSize = 25 'quantidade de registros por página. Você pode alterar sem conforme precise.Dim RS__MMColParamRS__MMColParam = "ativa"If (Request("MM_EmptyValue") <> "") Then   RS__MMColParam = Request("MM_EmptyValue")End If'Vamos fazer a busca na tabela contatosSQL = "SELECT * FROM Noticias WHERE STATUS = '" + Replace(RS__MMColParam, "'", "''") + "' ORDER BY ID DESC"RS.Open SQL,Conn,3,3'Vamos agora verificar exceções do tipo “fim de arquivo” (EOF), se a página atual é menor 'que zero, se é maior que o número total de páginas, etc.IF RS.EOF then Response.Write "nenhum registro encontrado"Response.End 'paramos o programaELSE'Definindo em qual pagina o visitante estáIF Request.QueryString("pagina")="" then intpagina=1 ELSEIF cint(Request.QueryString("pagina"))<1 thenintpagina=1 ELSEIF cint(Request.QueryString("pagina"))> RS.PageCount then intpagina=RS.PageCount ELSEintpagina=Request.QueryString("pagina")END IFEND IFEND IFEND IF'Fim das verificações de exceções'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta RS.AbsolutePage=intpagina' Inicia o contador que vai controlar os registros mostradosintrec=0%><%Dim RSDim RS_numRowsRS_numRows = 0%><%Dim Repeat1__numRowsDim Repeat1__indexRepeat1__numRows = -1Repeat1__index = 0RS_numRows = RS_numRows + Repeat1__numRows%> <title>DAD Engenharia - Intranet | ADM | Lista de Notícias Cadastradas</title><style type="text/css"><!--@import url("../webdad.css");--></style><table width="780">  <tr>    <td width="160" align="left" valign="top">        <!--#include file="adm_menu.asp" -->	</td>     <td width="542" align="center" valign="top"><table width="540" bordercolor="#CCCCCC">        <tr>           <td width="100"> <div align="left"><font color="#336699" face="Trebuchet MS"><strong><font size="2">ID</font></strong></font></div></td>          <td width="350"> <div align="left"><font color="#336699" face="Trebuchet MS"><strong><font size="2">Título</font></strong></font></div></td>          <td width="150"><font color="#336699" size="2" face="Trebuchet MS"><strong>Publicação</strong></font></td>          <td width="100"> <div align="left"><font color="#336699" face="Trebuchet MS"><strong><font size="2">Status</font></strong></font></div></td>          <td> <div align="center"><font color="#336699" face="Trebuchet MS"><strong><font size="2">Ação</font></strong></font></div></td>        </tr>        <tr>           <td width="100" height="24"> <div align="center"> <%'------------------- AQUI VEM TUDO O QUE SERÁ PAGINADO -----------------------While intrec < RS.PageSize and not RS.EOF If (cor = "#EFF1F5") Thencor = "#F8F9FC"Elsecor ="#EFF1F5"End If%>             <tr>               <td width="100" height="18" bgcolor="<%=cor%>">                 <div align="left"><span class="texto"><font size="2" face="Verdana"><%=(RS("ID"))%></font></span> </div></td>              <td width="350" bgcolor="<%=cor%>">                 <div align="left" class="texto"><font size="2" face="Verdana"><%=(RS("TITULO_NOTICIA"))%></font></div></td>              <td width="150" bgcolor="<%=cor%>">                 <div align="left" class="texto"><font size="2" face="Verdana"><%=(RS("DATA"))%></font></div></td>              <td width="100" bgcolor="<%=cor%>">                 <div align="left" class="texto"><font size="2" face="Verdana"><%=(RS("STATUS"))%></font></div></td>              <td width="50" bgcolor="<%=cor%>" align="center" valign="bottom">                 <div align="center"><a href="Altera.asp?ID=<%=(RS("ID"))%>"><img src="img/bt_altera.gif" alt="ALTERAR" width="18" height="18" border="0"></a>                   <a href="Exclui.asp?ID=<%=(RS("ID"))%>"><img src="img/bt_exclui.gif" alt="EXCLUIR" width="18" height="18" border="0"></a></font></div></td>              <% Repeat1__index=Repeat1__index+1Repeat1__numRows=Repeat1__numRows-1RS.MoveNext()Wend%> </tr>      </table></td>  </tr></table><%'---------------------------------------------------------------------------------------------RS.MoveNext' Acrescenta +1 ao contadorintrec=intrec+1 'Se for EOF (fim de arquivo), imprimir branco na telaIF RS.EOF then response.write " " END IFWend 'fim do loop    ************************************************%></table>    <div align="center"><br>      <%'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”. IF intpagina > 1 then %>      <a href="lista2.asp?pagina=<%=intpagina-1%>" class="noticia">[ Anterior ]</a>         <% END IF 'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página IF strcomp(intpagina,RS.PageCount) <> 0 then %>       <a href="lista2.asp?pagina=<%=intpagina + 1%>" class="noticia">[ Próxima ]</a>       <% END IF%>      <%RS.Close()Set RS = Nothing%>

 

Agradeço qquer sugestão, enquanto vou tentando por aqui!

 

Obgdo,

 

Marcos Hunger.

Compartilhar este post


Link para o post
Compartilhar em outros sites
[tr][/tr][tr][/tr]
ASP RS.MoveNext

 

' Acrescenta +1 ao contador

intrec=intrec+1

'Se for EOF (fim de arquivo), imprimir branco na tela

IF RS.EOF then

response.write " "

END IF

Wend 'fim do loop

 

este pedaço de codigo está provocando o erro

 

pois você ja esta dando denovo movenexts, mas o erro mesmo é colocar outro WEND sem o WHILE

 

verifica o que você precisa deste trecho e o resto "go to hell"

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa...beleza?c liga, eu arranquei todo esse trecho fora. a paginação funcionou, mas alguns detalhes nao:- não está respeitando o numero de registros por página q eu coloquei. mandei q fossem 25, mas está indo parece q até o final da tabela, e só aí dividindo para outra página.o q pode ser?! isso tem a ver com o trecho q exclui?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim é issopoe intrec=intrec+1 antes do wend que sobrou

Compartilhar este post


Link para o post
Compartilhar em outros sites

perfeito....funcionou.

 

agora, só pra encerrar....rs.... acabei copiando da outra página um parâmetro q manda exibir apenas os registros onde o status é "ativo". mas nesta lista deve aparecer todos, tanto ativos como inativos.

 

O trecho q manda exibir apenas o ativos é o seguinte, correto?:

 

Dim RS__MMColParamRS__MMColParam = "ativa"If (Request("MM_EmptyValue") <> "") Then  RS__MMColParam = Request("MM_EmptyValue")End If'Vamos fazer a busca na tabela contatosSQL = "SELECT * FROM Noticias WHERE STATUS = '" + Replace(RS__MMColParam, "'", "''") + "' ORDER BY ID DESC"RS.Open SQL,Conn,3,3

Só que não posso apenas deleta-lo, dá erro. Tem alguma coisa q devo colocar no lugar.... o q seria?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.