Estou tentando o acesso aos dados via DAO (VB5), já que pelo método SEEK, o ponteiro
Aponta para o primeiro registro, sendo que preciso que aponte para o último registro (último movimento desse livro <última vez que saiu da prateleira>). Todavia, o sistema sempre apresenta erro em <Run-time>.
Na tabela <Andamento>, o campo NumFilme é sua numeração no estoque, e o campo <Retirada> é a data em que o livro foi retirado da estante, sendo que determinado livro poderá ser retirado inúmeras vezes, e a procura deveria apontar para o registro da última retirada.
( a função AtualizaFormulario preenche o form com os dados da tabela Andamento, e os dados do livro e do cliente são obtidos nas tabelas próprias). Eis o código que estou empregando:
Option Explicit
Dim BancoDeDados As Database
Dim TbCadLivros As Recordset
Dim TbCliente As Recordset
Dim TbAndamento As Recordset
Private Sub cmdLocalizar_Click()
LimpaFormulario
Dim Sql As String, Procura As String
Procura = InputBox("Digite o nº procurado:", "Localizar último movimento")
If Len(Procura) = 0 Then Exit Sub
Sql = "Select * from Andamento Where NumLivro Like" & Procura & "Order by Retirada desc"
TbAndamento.FindMin Procura
If TbAndamento.NoMatch = True Then
MsgBox "Andamento inexistente..."
Exit Sub
Else
AtualizaFormulario 'Povoa o form
End If
Exit Sub
Private Sub Form_Load()
Set BancoDeDados = OpenDatabase(App.Path & "LivrosDireito.mdb")
Set TbCliente = BancoDeDados.OpenRecordset("CadastrodeClientes", dbOpenTable)
Set TbLivros = BancoDeDados.OpenRecordset("CadastrodeLivros", dbOpenTable)
Set TbAndamento = BancoDeDados.OpenRecordset("Andamento", dbOpenDynaset)
TbCliente.Index = "IndCódigo"
TbCadLivros.Index = "IndCódigo"
'TbAndamento.Index = "IndLivro" ‘Linha desabilitada.
cmdGravar.Enabled = False
Frame1.Enabled = False
If TbAndamento.EOF = False Then
AtualizaFormulario
End If
End Sub