Não é difícil cara,basta pensar no que esta fazendo.Não feche a tabela nem o banco.Se o seu
formulário tem somente caixa de texto, para que fechar a tabela e a conexão.
Olha
'Fechando a tabela juntamente com as conexões
Rs.Close
Con.Close
Set Rs = Nothing
Set Con = Nothing
Movimenta sem fechar a tablea e a conexão.
Vai ai um codigo simples.
Private CmdProximo_Click()
rs.MoveNext
If rs.Eof then
rs.MoveMax
Msgbox"Este é o último registro","0","Aviso"
End if
Atualiza
End Sub
Vai também uma dica que tirei do site que é muito boa
Basta modificar ao seu gosto.
Título da Dica: Conexão ADO um pouco mais profissional e usando Command
Postada em 22/4/2003 por ®ogerVB
--------------------------------------------------------------------------------
Neste exemplo de conexão estou usando o ADO 2.7, e 3 TextBox, com os nomes TxtCodigo, TxtNome e TxtObs, e 4 CommandButton com os nome CmdPrimeiro, CmdAnterior, CmdProximo e CmdUltimo para a movimentação no banco! Depois de adicionado esse objetos pode e a referencia pode copiar o seguinte código:
Public Conexao As ADODB.Connection
Private RsTabela As ADODB.Recordset
Private Cmd As ADODB.Command
_______________________________________________________________________
Private Sub Atualizar()
TxtCodigo.Text = RsTabela("codigo")
TxtNome.Text = RsTabela("nome")
TxtObs.Text = RsTabela("obs")
End Sub
_______________________________________________________________________
Private Sub CmdAnterior_Click()
Set Cmd = New ADODB.Command
Set Cmd.ActiveConnection = Conexao
Cmd.CommandType = adCmdText
Cmd.CommandText = "select * from tabela where codigo=(select max(codigo) from tabela where codigo < ?)"
Cmd.Parameters(0).Value = TxtCodigo.Text
Set RsTabela = Cmd.Execute
If Not RsTabela.EOF Then
Atualizar
End If
RsTabela.Close
Set RsTabela = Nothing
Set Cmd = Nothing
End Sub
_______________________________________________________________________
Private Sub CmdPrimeiro_Click()
Set RsTabela = New ADODB.Recordset
RsTabela.Open "Select * From Tabela where codigo=(select min(codigo) from tabela)", Conexao, adOpenDynamic
If Not RsTabela.EOF Then
Atualizar
End If
RsTabela.Close
Set RsTabela = Nothing
End Sub
_______________________________________________________________________
Private Sub CmdProximo_Click()
Set Cmd = New ADODB.Command
Set Cmd.ActiveConnection = Conexao
Cmd.CommandType = adCmdText
Cmd.CommandText = "select * from tabela where codigo=(select min(codigo) from tabela where codigo > ?)"
Cmd.Parameters(0).Value = TxtCodigo.Text
Set RsTabela = Cmd.Execute
If Not RsTabela.EOF Then
Atualizar
End If
RsTabela.Close
Set RsTabela = Nothing
Set Cmd = Nothing
End Sub
_______________________________________________________________________
Private Sub CmdUltimo_Click()
Set RsTabela = New ADODB.Recordset
RsTabela.ActiveConnection = Conexao
RsTabela.CursorLocation = adUseClient
RsTabela.CursorType = adOpenDynamic
RsTabela.Open "Select * From Tabela where codigo=(select max(codigo) from tabela)"
If Not RsTabela.EOF Then
Atualizar
End If
RsTabela.Close
Set RsTabela = Nothing
End Sub
_______________________________________________________________________
Private Sub Form_Load()
'abre banco
Set Conexao = New ADODB.Connection
Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= " & App.Path & "anco.mdb"
Frame1.Enabled = False
CmdPrimeiro_Click
End Sub