NAVEGACAO DE REGISTROS

AQUILESBRUM 10/12/2010 11:30:03
#359265
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[Ô].

 
[ô]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

XXXANGELSXXX 10/12/2010 12:09:01
#359276
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?
MARCELO.TREZE 10/12/2010 12:43:40
#359285
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.

AQUILESBRUM 10/12/2010 13:49:42
#359287
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.

MARCELO.TREZE 10/12/2010 14:31:14
#359295
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

AQUILESBRUM 10/12/2010 15:20:18
#359300
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.
MARCELO.TREZE 10/12/2010 15:28:05
#359302
Resposta escolhida
desculpe no caso acima uso um select. baseado no código
AQUILESBRUM 14/12/2010 11:21:43
#359502
Problema resolvido ! Obrigado pela ajuda.
Tópico encerrado , respostas não são mais permitidas