NAVEGACAO NOVAMENTE

IRENKO 06/01/2011 09:19:29
#361322
No meu Form estou usando somente dois botões de navegação(Anterior e Próximo)

Rotina para o próximo:

Private Sub MoveNext()
With RsTexto
If .EOF = False Then
.MoveNext
Call PopularDescricao
Else
MsgBox [Ô]Não existem mais registros[Ô], vbExclamation
Exit Sub
End If
End Sub

Rotina para o anterior:

Private Sub MovePrevious()
With RsTexto
If Not .BOF = True Then
.MovePrevious
Call PopularDescricao
If .EOF = False Then
Exit Sub
End If
Else
MsgBox [Ô]Esse é o primeiro registro[Ô], vbExclamation
Exit Sub
End If

End With

End Sub

O problema é no Anterior, quando chego no primeiro registro e aperto o botão novamente da erro:

BOF ou EOF sao verdadeiros, ou o registro atual foi excluido. a operaçao solicitada pelo aplicativo requer um registro atual

coloquei um exit sub mas não adiantou. Uma ideia por favor!



EXPERT 06/01/2011 10:07:27
#361332
Resposta escolhida
Olá ...

Tenta fazer uma outra verificação antes de chamar a rotina ...

Tipo:
Private Sub MoveNext()
With RsTexto
If .EOF = False Then
.MoveNext
If .EOF Then .MoveLast [ô]Adicionei uma verificação para garantir que não vai passar do último
Call PopularDescricao
Else
MsgBox [Ô]Não existem mais registros[Ô], vbExclamation
Exit Sub
End If
End Sub

Rotina para o anterior:

Private Sub MovePrevious()
With RsTexto
If Not .BOF = True Then
.MovePrevious
If .BOF Then .MoveFirst [ô]Adicionei uma verificação para garantir que não vai passar do primeiro
Call PopularDescricao
Else
MsgBox [Ô]Esse é o primeiro registro[Ô], vbExclamation
Exit Sub
End If

End With
End Sub



FICA COM DEUS!!!
IRENKO 06/01/2011 10:25:59
#361339
Expert, funcionou para o MovePrevious porem quando uso o MoveNext da o mesmo erro.
IRENKO 06/01/2011 10:40:31
#361341
Expert, eu estava comendo mosca! Tá funcionando sim, somente a MsgBox que não estão sendo acionadas.
EXPERT 06/01/2011 16:33:11
#361415
Blz ...

Não esqueça de encerrar o tópico

FICA COM DEUS!!!
MARCELO.TREZE 06/01/2011 16:45:20
#361418
tenta este efeito, ou seja quando chega no primeiro move para o ultimo, tente fazer o mesmo efeito no potao proximo quando chegar no ultimo pular para o primeiro

Private Sub MovePrevious()
With RsTexto
If .BOF = True Then
.MoveLast
Call PopularDescricao
End If
End With
End Sub

IRENKO 07/01/2011 10:05:04
#361508
Agora sim tá funcionado, ficou conforme abaixo, obrigado Expert e Marcelo.

Private Sub MovePrevious()
With RsTexto
If Not (.BOF = True And .EOF = True) Then
.MovePrevious
If Not .BOF Then
Call PopularDescricao
Else
If Not .EOF Then
.MoveFirst
End If
MsgBox [Ô]Esse é o primeiro rgistro! [Ô], vbExclamation, [Ô]Status[Ô]
End If
Else
MsgBox [Ô]Nenhum registro existente! [Ô], vbExclamation, [Ô]Status[Ô]
End If
End With

End Sub

Private Sub MoveNext()
On Error Resume Next
With RsTexto
If Not (.BOF = True And .EOF = True) Then
.MoveNext [ô]move to next record
If Not .EOF Then
Call PopularDescricao
Else
.MoveLast [ô]go to the last record
MsgBox [Ô]Esse é o último registro! [Ô], vbExclamation, [Ô]Status[Ô]
End If
Else
MsgBox [Ô]Nenhum registro existente! [Ô], vbExclamation, [Ô]Status[Ô]
End If
End With

End Sub
Tópico encerrado , respostas não são mais permitidas