Ir para conteúdo

POWERED BY:

Arquivado

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

Tigger

Paginacao com ACCESS

Recommended Posts

Cara de paginacao nao entendo nada do assunto..por isso estou querendo saber qual e a solucao para esse meu problema..Infelizmente sempre apanhei em paginacao onde nao conseguia fazer, peco para quem puder me ajudar....( e estara salvando um emprego de um cara que ta ha 3 semanas com esse pepino)

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro que deu lá em cima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte mario, aquele codigo de MAX e MIN que você me passou nao resolveu a minha situacao.Onde ele apenas busca o MIN codigo da tabela sendo que esse valor, nao era o anterior ao codigo atual.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como não era?? o que ele buscou??

Compartilhar este post


Link para o post
Compartilhar em outros sites

No exemplo acima, o codigo que estou visualizando e o "116" onde, quanto mandei rodar a SQL o resultado MIN foi 112.

 

Codigo que estou utilizando

 

<!--asp1--><div class='asptop'>ASP</div><div class='aspmain'><!--easp1--><link href = "style_images/css_asp.css" rel = "stylesheet" type = "text/css">

[*]<%

 

[*] SQLMax <font color="#269900"></font>= "SELECT MAX(CV_CODIGO) AS ANTERIOR FROM CURRICULUns WHERE CV_CODIGO >" & StrCodigo

 

[*]  <font color="8E7144">SET</font> RSMax <font color="#269900"></font>= <font color="#0080C0">Cnn</font><font color="#8C00AA">.</font><font color="#979700">execute</font>(SQLMax)

 

[*] 

 

[*] <font color="#0080C0">Response</font><font color="#8C00AA">.</font><font color="#979700">Write</font>(<font color="#979700">RSMax</font>("ANTERIOR"))

 

[*]

 

[*] SQLMin <font color="#269900"></font>= "SELECT MIN(CV_CODIGO) AS PROXIMO FROM CURRICULUNS WHERE CV_CODIGO < " & StrCodigo

 

[*] <font color="8E7144">SET</font> RSMin <font color="#269900"></font>= <font color="#0080C0">Cnn</font><font color="#8C00AA">.</font><font color="#979700">execute</font>(SQLMin)

 

[*]

 

[*] <font color="#0080C0">Response</font><font color="#8C00AA">.</font><font color="#979700">Write</font>(<font color="#979700">RSMin</font>("PROXIMO"))

 

[*]%>

<!--asp2--></div><!--easp2-->

 

Na verdade, ele esta visualizando apenas o MIN codigo e MAX codigo independentemente do codigo atual que você esteje visualizando....acabei de verificar isso agora....caraca..

um cara foi mandado embora agora, o "rodo" da passando direto aqui...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara....A paginação simples resolveria seu problema....Segue exemplo, que estou comentando, para ver se voce entende.

Set oConn = Server.CreateObject("ADODB.Connection")Set ORs = Server.CreateObject("ADODB.recordset")'===abre conexaooConn.Open strConexao'===seta cursor para clienteORs.CursorLocation = 3'===Abre o recorsetORs.Open strSQL,oConn,2,2,1'===seta a quantidade de registros por páginaORs.PageSize = 1ORs.CacheSize = 1'====Pega número da páginaPagina = Request("Pagina")'====Se não houver número de página indicado, a página é 1if Pagina = "" then  Pagina = 1End if'====Informa para o recordset qual a páginaORs.AbsolutePage = Pagina'=========' O Loop inicia aqui'=========While ORs.AbsolutePosition <= (ORs.PageSize * pagina) and not ORs.Eof.....Código HTMLORs.moveNextWend'=====CRIA CÓDIGO DE ANTERIORstrHTMLAnterior  = "<a href=nome_pagina.asp?Pagina=" & Pagina - 1& ">"'=====CRIA CÓDIGO DE PRÓXIMOstrHTMLProximo  = "<a href=nome_pagina.asp?Pagina=" & Pagina + 1 & ">"Response.Write strHTMLAnterior & "<br>"Response.Write strHTMLproximo

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara você fez tudo trocado

 

faz assim

 

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"))

     

    [*]%>

 

testa este que te passei e se não pegar os codigos certos a gente outra coisa...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcelo, infelizmente continua dando erro...

 

ADODB.Recordset error '800a0bb9'

 

Os argumentos são de tipo incorrecto, estão fora do intervalo aceitável ou estão em conflito uns com os outros.

 

/administracao/manutencao/alt_curriculos.asp, line 146

 

Gostaria de saber como posso adequar tal codigo a minha necessidade...

a linha com o erro e essa,.

 

ASP

[*]

 

[*]<%

 

[*]Set oConn Server.CreateObject("ADODB.Connection")

 

[*]Set ORs Server.CreateObject("ADODB.recordset")

 

[*]

 

[*]'===abre conexao

 

[*]oConn.Open strConexao

 

[*]

 

[*]'===seta cursor para cliente

 

[*]ORs.CursorLocation = 3

 

[*]

 

[*]'===Abre o recorset

 

[*]>> >> >> ORs.Open strSQL,Cnn,2,2,1

 

[*]

 

[*]'===seta a quantidade de registros por página

 

[*]ORs.PageSize = 1

 

[*]ORs.CacheSize = 1

 

[*]

 

[*]'====Pega número da página

 

[*]Pagina Request("Pagina")

 

[*]

 

[*]'====Se não houver número de página indicado, a página é 1

 

[*]if Pagina "" then

 

[*] Pagina = 1

 

[*]End if

 

[*]

 

[*]'====Informa para o recordset qual a página

 

[*]ORs.AbsolutePage = Pagina

 

[*]

 

[*]'=========

 

[*]' O Loop inicia aqui

 

[*]'=========

 

[*]

 

[*]While ORs.AbsolutePosition <= (ORs.PageSize * pagina) and not ORs.Eof

 

[*]

 

[*]%>

 

[*]Antes

 

[*]<%

 

[*]ORs.moveNext

 

[*]Wend

 

[*]

 

[*]'=====CRIA CÓDIGO DE ANTERIOR

 

[*]strHTMLAnterior "<a href=nome_pagina.asp?Pagina=" & Pagina - 1& ">"

 

[*]

 

[*]'=====CRIA CÓDIGO DE PRÓXIMO

 

[*]strHTMLProximo "<a href=nome_pagina.asp?Pagina=" & Pagina + 1 & ">"

 

[*]

 

[*]Response.Write strHTMLAnterior & "<br>"

 

[*]Response.Write strHTMLproximo

 

[*]

 

[*]%>

 

[*]

 

Estou usando um arquivo de INCLUDE de conexao com o banco de dados, sera que nao e isso que esta ocasionando o erro...por eu nao definir as configuracoes do Recordset..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, novamente erro!!

 

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

 

[Microsoft][Gestor de controladores de ODBC] O nome da origem de dados não foi encontrado e não foi especificado nenhum controlador predefinido

 

/administracao/manutencao/alt_curriculos.asp, line 144

Codigo

ASP

[*]

 

[*]<%

 

[*]Set oConn Server.CreateObject("ADODB.Connection")

 

[*] Set ORs Server.CreateObject("ADODB.recordset")

 

[*]

 

[*]'===abre conexao

 

[*]

 

[*]>> >> >>oConn.Open strConexao

 

[*]

 

cara, desculpe se estou atrapalhando..

Compartilhar este post


Link para o post
Compartilhar em outros sites

só testa do jeito que te passei pra ver se pega o anterior e o proximo id...

Compartilhar este post


Link para o post
Compartilhar em outros sites

testa o codigo que passei agora por ultimo, pois acho que você esta usando ainda o antigo que você colocou trocado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara se existe um DEUS da programacao ASP/SQL esse e você marioufpa *****

 

Deu certo, acho que realmente estava fazerndo trocado, mesmo...

sera que você poderia me explicar tal instruacao SQL...

 

no mais, valeu mais uma vez, acho que meu emprego sera salvo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

So um detalhe para concluir, quando eu chega ao CODIGO MIN da erro, e o mesmo acontece quando chego ao CODIGO MAX....como faco para que quando chegue no MIN, nao apareca o link de ANTERIOR, e quando chego no MAX nao apareca o link de PROXIMO...

Compartilhar este post


Link para o post
Compartilhar em outros sites

o lance é simplesnuma você pega o maior id que seja menor que o atual, ou seja o anteriore na outra você pega o menor id que seja maior que o atual ou seja o proximo

Compartilhar este post


Link para o post
Compartilhar em outros sites

So um detalhe para concluir, quando eu chega ao CODIGO MIN da erro, e o mesmo acontece quando chego ao CODIGO MAX....

 

como faco para que quando chegue no MIN, nao apareca o link de ANTERIOR, e quando chego no MAX nao apareca o link de PROXIMO...

ai chega o ponto que ainda não tinha falado...

 

precisa de um tratamento de erro basico quando o id for o minimo ou o maiximo pra não dá erro pois não existe o link...

 

mas isso tb não é dificil

 

faz assim

 

em vez de manda escrever direto poe um teste de eof

 

ASP

    [*]<%

     

    [*]

     

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

     

    [*]

     

    [*]SET RSMax Cnn.execute(SQLMax)

     

    [*]

     

    [*]IF NOT RSMax.EOF THEN

     

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

     

    [*]END IF

     

    [*]

     

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

     

    [*]

     

    [*]SET RSMin Cnn.execute(SQLMin)

     

    [*]

     

    [*]IF NOT RSMin.EOF THEN

     

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

     

    [*]END IF

     

    [*]%>

 

ve agora se dá erro...

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.