Ir para conteúdo

POWERED BY:

Arquivado

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

Tigger

Paginacao com ACCESS

Recommended Posts

Como consigo fazer uma pagina em um uma tabela com varios registros;

 

Tenho um cdastrado de curriculuns onde os mesmos sao registrados na tabela de CURRICULUNS , gostarai de que quando visualizasse um curriculo tivesse

 

um recurso de visualizar o anterior e o proximo curriculo ao que estou lendo.

 

Sei que e com paginacao mais nao sei como fzer, pois os dados dos outros curriculuns terao que estar dentro do mesmo formulario do curriculo atual

Compartilhar este post


Link para o post
Compartilhar em outros sites

de uma maneira bem mais simples.. você nem precisa fazer paginação.você pode simplismente, na pagina que monta a sua vizualização colocar um link para viziualizaro proximo resgitro do banco e o anterior...resulve e da menos trabalho q paginação...

Compartilhar este post


Link para o post
Compartilhar em outros sites

como você faz para mudar o curriculo???não é um select no banco com o id que você deseja ver.então... para esse caso você faz o seguinte escreve o link com os respectivos ID's entendeu..tipo você esta vendo o currilo "102"no link proximo você coloca um link tipo "pagina.asp?currulo=103"no link anterior você coloca um link tipo "pagina.asp?currulo=101"sendo que esses numeros 103 e 101 são gerados pelo asp baseando no banco claro.. assim você faz esse sistema bem facil.. e qnd fou as extremidades tipo o 1 ou o ultimo registro você não erscreve o link.. só fazer um if para issu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%if not rs.eof then%>link.asp?id=<%=request("id")+1%> --> para proximo registro<%end if%><%if not rs.bof then%>link.asp?id=<%=request("id")-1%> --> para o registro anterior<%end if%>axu que é mais ou menos assim mesmo neh?

Compartilhar este post


Link para o post
Compartilhar em outros sites

só tome cuida caso tenha burados entre os ids... senão vai dar não encontrado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

poxa kra vou ver se amanh'a me sobra um tempo e eu fa;o um teste aki para te falar uma forma legal para fazer esses links.. eu ia te falar um exemplo aki mais tenhu q sair daqui pois o clima no departamento n'ao ta legal...amanh'a vejo algo para te ajudar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A Maneira Correta de fazer seria com paginação, para isso use as propiedades do AdoDb.RecordSet:

PageSize
PageCount
AbosolutePage

Ex:

ASP

 

 

  • [*]<% [*]Set Conn = Server.CreateObject("AdoDb.Connection") [*]Conn.Provider = "Microsoft.Jet.OleDb.4.0" [*]Conn.ConnectionString = Server.MapPath("../dir/db.mdb") [*]Conn.Open [*] [*]Sql = "Select * From Tabela" [*]Set RS = Server.CreateObject("AdoDb.RecordSet") [*]RS.Open Sql,Conn,1,2 [*] [*]if not RS.eof Then [*] if Request("p") = "" Then [*]p = 1 [*] Else [*]p = Request("p") [*] End if [*] [*] RS.PageSize = 1 'Número de registros por pagina, mude o valor 1 para o número de registros por pagina que você deseja [*] RS.AbsolutePage = p [*] [*] limite = 1 [*] while not RS.eof and limite =< RS.PageSize [*]... [*]limite = limite + 1 [*]RS.Movenext [*] Wend [*] [*] if p > 1 Then [*]%> [*]<a href="suapagina.asp?p=<%=p+1%>">Proxima</a> [*]<% [*] End if [*] if p < RS.PageCount Then [*]%> [*]<a href="suapagina.asp?p=<%=p-1%>">Anterior</a> [*]<% [*] End if [*]End if [*]%>

 


Desculpe se ouver erros de ortografia, mas digitando aqui pelo fórum sempre passa laguns.. hehe

Espero ter ajudado

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma forma alternativa seria selecionar para:anterior: o maior id que seja menor que o atualproximo: o menor id que seja maior que o atual

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma forma alternativa seria selecionar para:

 

anterior: o maior id que seja menor que o atual

 

proximo: o menor id que seja maior que o atual

<{POST_SNAPBACK}>

Como consigo fazer isso?

 

Fiz o exemplo que o mx loco passou, mais so que se no cadastro tive

"buracos" nos ID´S o codigo nao vai funcionar.

Como consigo implentar a sua ideia;.

Compartilhar este post


Link para o post
Compartilhar em outros sites

seleciona cara"SELECT MAX(id) AS Anterior WHERE Id < " & Id"SELECT MIN(id) AS Proximo WHERE Id > " & Id

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro!!

Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'

 

O texto de comando não foi definido para o objecto Command.

 

/administracao/manutencao/alt_curriculos.asp, line 140

Alguem me ajude!!!

 

ERRO JA SOLUCIONADO!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora, podemos dizer que nao e uma erro, mais dando certo tambem nao esta dando!

 

vamos lá! Seguindo a ideia do marioufpa fiz a seguinte SQL

 

ASP

[*]

 

[*]<%

 

[*] SQLMax "SELECT MAX(CV_CODIGO) AS ANTERIOR FROM CURRICULUns WHERE CV_CODIGO <=" & StrCodigo

 

[*] SET RSMax Cnn.execute(SQLMax)

 

[*] Response.Write(RSMax("ANTERIOR"))

 

[*]  

 

[*] SQLMin "SELECT MIN(CV_CODIGO) AS PROXIMO FROM CURRICULUNS WHERE CV_CODIGO <= " & StrCodigo

 

[*]  SET RSMin Cnn.execute(SQLMin)

 

[*] Response.Write(RSMin("PROXIMO"))

 

[*]%>

 

[*]

 

Na verdade o que esta retornando e o valor do ID atual e o valor do menor ID.

 

Por exemplo , estou no ID 121 , ele me mostra o ID 121 com o PROXIMO

e o 115 como o ANTERIOR

 

......

Compartilhar este post


Link para o post
Compartilhar em outros sites

não usa menor ou igual nem maior ou igualusa só menor e maior

Compartilhar este post


Link para o post
Compartilhar em outros sites

não usa menor ou igual nem maior ou igual

 

usa só menor e maior

<{POST_SNAPBACK}>

ASP

[*]<%

 

[*] 

 

[*] SQLMax "SELECT MAX(CV_CODIGO) AS ANTERIOR FROM CURRICULUns WHERE CV_CODIGO <" & StrCodigo

 

[*]

 

[*] SET RSMax Cnn.execute(SQLMax)

 

[*]

 

[*] Response.Write(RSMax("ANTERIOR"))

 

[*]

 

[*] SQLMin "SELECT MIN(CV_CODIGO) AS PROXIMO FROM CURRICULUNS WHERE CV_CODIGO < " & StrCodigo

 

[*]

 

[*]  SET RSMin Cnn.execute(SQLMin)

 

[*]

 

[*] Response.Write(RSMin("PROXIMO"))

 

[*]

 

[*]%>

 

Usei o codigo acima, e deu o seguinte resultado.

 

116 -

115 -

 

sendo que estava no codigo 121

O 116 esta certo, por que no meu banco de dados,o registro anterior ao 121 e o 116, mais so que o 115 nao e o proximo ao 121 e sim o 122.

....

Compartilhar este post


Link para o post
Compartilhar em outros sites

SQLMin = "SELECT MIN(CV_CODIGO) AS PROXIMO FROM CURRICULUNS WHERE CV_CODIGO < " & StrCodigo
Voce esta usando o sinal de menor em ambas as consultas, !!!

exato na de baixo é maior

Compartilhar este post


Link para o post
Compartilhar em outros sites

Infelizmente essa SQL nao deu certo....poderiam me dar um forcinha para que eu posso resolver essa pendencia....daqui a pouco estarei mostrando como esta o meu banco de dados..Segue a imagen que representa a estrutura do meu BD.O registro que esta selecionado representa o curriculum que estou lendo no momento, gostaria de saber como faco para que eu tenha na minha tela um botao de ANTERIOR e PROXIMO, para que eu possa ler o 115 e 117....por favor...me ajudem,so falta isso para que eu fique livre desse site filho da p*************** Alguem......alguem, que possa me ajudar...por favor..alguem....alguem..alguem......

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.