Ir para conteúdo

POWERED BY:

Arquivado

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

Dony

rs.movefirst

Recommended Posts

Pessoal,Como fazer para que, se o ponteiro chegar ao ultimo registro da tabela voltar para o primeiro, tipo: 13478912131417Então não posso usar +1 tem que ser no movenext e quando chegar no 17 voltar para o registro 1, como se a tabela não tivesse fim.Já tentei de tudo que eu sabia, mas devo ser muito burrão mesmo!Dony

Compartilhar este post


Link para o post
Compartilhar em outros sites

rs.movefirst 'move para o primeiro registromas cuidado pois você vai acabar colocando o código em loop infinitocoloca parde do código ai pra podermos ver exatamente como você quer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui está o codigo

'Pego o ID do ultimo imovel que foi exibido e gravado na tabela exibição e movo o registro pra frente (o tipo C é de casa)Set imoveis= Conexao.Execute("SELECT * FROM imoveis WHERE tipo = "C" and IDImoveis = rs("atual")")'aqui que entra o problema, se for o fim do arquivo move para o primeiro registro, se não para o proximoIf not imoveis.eof then   imoveis.movenext   imoveis("id") = idProximoElse    imoveis.movefirst   imoveis("id") = idProximo    End If

Tive um problema parecido a tempos atras mas resolvi de outro jeito, aqui não vai mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom,vamos lá

primeiro, você não vai conseguir mover o recodset para o primeiro registro pois se ele não encontra então está vazio, se está vazio não existe linhas de registro, o que você pode fazer é uma outra consulta

 

Set imoveis= Conexao.Execute("SELECT * FROM imoveis WHERE tipo = C and IDImoveis = "&rs("atual")&"")If not imoveis.eof then    imoveis.movenext    idProximo=imoveis("id") Else    Set imoveis= Conexao.Execute("SELECT * FROM imoveis WHERE tipo = C")  imoveis.movefirst    if not imoveis.eof then  idProximo=imoveis("id") end ifEnd If
bom, fiz uma alteração no SQL pois tinha um probleminha com aspas e concatenação, outra coisa, alterei essa parte também

 

de : imoveis("id") = idProximo

para: idProximo=imoveis("id")

 

caso eu tenha bagunçado seu codigo arruma ai, mas essa foi a solução que encontrei de momento

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara você está certo nos acertos de codigo, fiz rapidinho aqui só pra demonstrar como eu estava montando a logica...vou testar aqui, acabei de chegar do trampo depois osto se deu certo.Valeu,Dony

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, ta dando erro: BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.Bem nessa linha....

idProximo=imoveis("id") 

Isso pq demos um movenext na ultima linha.Não sei o que faço mais.... to ficando desanimado já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

provavelmente você só tem um registro na tabela e ele está tentando mover para o proximo

tente colocando isso

If not imoveis.eof and not imoveis.bof then
confirme na tabela se teria registro suficiente no resultado da busca para mver o cursor pra onde deseja

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade tenho 3 registros...Isso não seria porque estou pedindo no sql um registro so? quando eu coloco id="&rs("atual")&" ele me traz só esse?

Compartilhar este post


Link para o post
Compartilhar em outros sites

jonathandj to desistindo cara, continua dando o mesmo erro, não sei mais o que fazer... a logica esta certa, tem registros no banco de dados e mesmo assim continua dando esse erro.... caramba meu to ficando nervoso! Não saio disso tem quase 1 semana!

 

ALGUÉM ME AJUDEEEEEEEE...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dony e o seguinte me posta sua logica o que você quer trazer do banco

 

quais condições for pode usar laço para isso mas pode tem q voltar para o primeiro o q você quer trazar na consulta

 

 

 

jonathandj to desistindo cara, continua dando o mesmo erro, não sei mais o que fazer... a logica esta certa, tem registros no banco de dados e mesmo assim continua dando esse erro.... caramba meu to ficando nervoso! Não saio disso tem quase 1 semana!

 

ALGUÉM ME AJUDEEEEEEEE...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Carinha aí em cima está o código de seleção do DB, a lógica funciona mais ou menos assim, tenho um site de imobiliária onde aparece os destaques, numa pagina posso ter vários destaques em locais diferentes, então o que eu pensei.Tenho duas tabelas, uma com todos os imóveis cadastrados e outra que eu chamei de exibição. Quando eu entro na pagina uma função chama o código passando o parâmetro se será casa “C”, Apartamento “A”, fazenda “F” e assim por diante, verifico na tabela exibição qual foi o ID do ultimo imóvel exibido com o tipo passado “SELECT * FROM exibições WHERE tipo = C” (aqui sai o rs("atual"))se estiver vazia pego o primeiro registro da tabela imóveis e gravo nela (isso seria só na primeira vez que entrasse no site), se não estiver vazia pego o id do ultimo imóvel exibido e faço uma busca dele na tabela imóveis (SELECT * FROM imoveis WHERE tipo = C and IDImoveis = "&rs("atual")&""), exibo todos os dados desses imóveis normalmente, até aqui tudo funcionando. Daí que vem o pulo do gato que não estou conseguindo, na tabela imóveis quero mover o cursor pra frente e pegar esse proximo ID para grava-lo na tabela exibição e re-começar todo o processo acima de novo, se for o fim do arquivo ele deverá voltar para o inicio da tabela e pegar o id do primeiro registro, mas não há lógica no mundo que faça isso funcionar! Já quebrei a cabeça e ta piorando pq acho que estou ficando nervoso e aí que a coisa não rende mesmo!Se puder me ajudar!ValeuDony

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.