NAVEGACAO DE REGISTROS
                    Olá Pessoal !
estou com problema na navegação de registros. Estou usando um exemplo do [Ô]TECLA[Ô] postado aqui no forum. Já quebrei a cabeça mas não consegui resolver. Estou usando o SQL Server 2005.
Os problemas são os seguintes:
Registro Anterior
Aparece o erro - [Ô]Run-Time error [ô]3219[ô] Operação não permitida neste contexto[Ô].
Próximo Registro
Funciona mas quando chega no último registro aparece o erro - [Ô]Run-Time error [ô]3219[ô] Operação não permitida neste contexto[Ô].
Primeiro Registro
Esta OK
Último Registro
[Ô]Run-time error [ô]3021[ô] BOF ou EOF são verdadeiros, ou o registro atual foi excluido. A operação solicitada pelo aplicativo requer um registro atual[Ô].
            estou com problema na navegação de registros. Estou usando um exemplo do [Ô]TECLA[Ô] postado aqui no forum. Já quebrei a cabeça mas não consegui resolver. Estou usando o SQL Server 2005.
Os problemas são os seguintes:
Registro Anterior
Aparece o erro - [Ô]Run-Time error [ô]3219[ô] Operação não permitida neste contexto[Ô].
Próximo Registro
Funciona mas quando chega no último registro aparece o erro - [Ô]Run-Time error [ô]3219[ô] Operação não permitida neste contexto[Ô].
Primeiro Registro
Esta OK
Último Registro
[Ô]Run-time error [ô]3021[ô] BOF ou EOF são verdadeiros, ou o registro atual foi excluido. A operação solicitada pelo aplicativo requer um registro atual[Ô].
 
[ô]MOVE PARA O PRIMEIRO REGISTRO
Private Sub cmdPrimeiro_Click()
  If Not rs4.BOF Then
        rs4.MoveFirst
     End If
     
     Call PovoaCampos
End Sub
[ô]MOVE PARA O REGISTRO ANTERIOR
Private Sub cmdAnterior_Click()
    If Not rs4.BOF Then
        rs4.MovePrevious
        If rs4.EOF Then
           rs.MoveLast
        End If
    Else
        rs4.MoveLast
    End If
        
    Call PovoaCampos
End Sub
[ô]MOVE PARA O PRÓXIMO REGISTRO
Private Sub cmdProximo_Click()
    If Not rs4.EOF Then
        rs4.MoveNext [ô]Proximo
        If rs4.EOF Then
            rs4.MovePrevious
        End If
    Else
       rs4.MoveFirst
    End If
         
    Call PovoaCampos
End Sub
[ô]MOVE PARA O ÚLTIMO REGISTRO
Private Sub cmdUltimo_Click()
    If Not rs4.EOF Then
        rs4.MoveLast
    End If
    
    Call PovoaCampos
End Sub
[ô]POVOA CAMPOS
Private Sub PovoaCampos()
If Not rs4.State = adStateOpen Then
    Call ConectaRecordSet
End If
[ô]On Error GoTo TrataErro
            bNavegando = True       
            If rs4.BOF And rs4.EOF Then
                MsgBox [Ô]Não há dados para exibir ! [Ô]
            Else
                lblCodigo.Caption = rs4.Fields([Ô]CD_USUARIO[Ô])
                txtNome.Text = rs4.Fields([Ô]NOME[Ô])
                txtLogin.Text = rs4.Fields([Ô]LOGIN[Ô])
                txtSenha.Text = CripSenha(rs4.Fields([Ô]Senha[Ô]))
                If rs4.Fields([Ô]STATUS[Ô]) = True Then
                    optAdministrador = True
                Else
                    optUsuario = True
                End If
            End If
            Exit Sub
        bNavegando = False
[ô]    Resume
[ô]TrataErro:
[ô]    MsgBox [Ô]Procedure: Mostra Dados [Ô] & [Ô] - [Ô] & [Ô]Erro nº: [Ô] & Err.Number & [Ô] - [Ô] & Err.Description
End Sub
 
                    Primeira coisa que te pergunto.. por um acaso vc utiliza algum grid na tela? ou não?? se utilizar nao é mais facil fazer a navegaçao atraves do grid nao?
                
            
                    aquiles seguindo o que o colega angels falou, eu também abandonei esta forma de navegação faz tempo.
eu preencho um grid com os registro, e posso até filtrar conforme o que for digitando, desta forma é mais prático.
                
            eu preencho um grid com os registro, e posso até filtrar conforme o que for digitando, desta forma é mais prático.
                    Pessoal, obrigado por me ajudar a quebrar paradigmas. Eu tenho um grid sim, e estava trabalhando na navegação de registros através dele. Agora cehguei a conclusão com a ajuda de vocês que não preciso dos dois (Botões e Grid). Mas o que levou vocês a não usarem a maneira tradicional? 
Voltando ao problema: Só conseguiria povoar os campos do formulário que estão no grid...certo? Ou vocês usam dados do grid para fazer um SELECT e povoar o formulário? Tem algum exemplo para que eu possa me inspirar? Obrigado pelos esclarecimentos.
                
            Voltando ao problema: Só conseguiria povoar os campos do formulário que estão no grid...certo? Ou vocês usam dados do grid para fazer um SELECT e povoar o formulário? Tem algum exemplo para que eu possa me inspirar? Obrigado pelos esclarecimentos.
                    Bom eu nào sei qual o grid que vc usa, eu particularmente gosto muito do flexgrid e faço desta maneira
um select povoa o flexgrid
ao se clicar em uma linha eu jogo os dados nos campos, poré busco os dados do grid não faço outro select.
com os campos povoados, ai sim eu habilito um tecla de alterar ou remover, a qual utilizo um update
veja esta tela
 
                
            um select povoa o flexgrid
ao se clicar em uma linha eu jogo os dados nos campos, poré busco os dados do grid não faço outro select.
com os campos povoados, ai sim eu habilito um tecla de alterar ou remover, a qual utilizo um update
veja esta tela
 
                
                    Mas neste caso você só conseguiria buscar no grid (Código,Nome,CPF/CNPJ). E os outros campos, como você faz?
Ps: Uso o flexgrid também.
            Ps: Uso o flexgrid também.
                    desculpe no caso acima uso um select. baseado no código
                
            
                    Problema resolvido ! Obrigado pela ajuda.
                
            
                        Tópico encerrado , respostas não são mais permitidas
                    
                

