Coloquei este mesmo código e testei e deu certo mais de uma vez sem precisar destas linhas:
str = adoAgencias.Recordset.Bookmark adoAgencias.Recordset.Index="agencia" 'recordset e do tipo table
Vi o outro post e não dá pra saber o q é... vc poderia passar mais detalhes?
Vc está procurando um registro por exemplo com o nome da agência = "AGB"
Se vc digitar "AG" no caso, como a comparação está como igual realmente não vai achar nenhum registro semelhante (a não ser q tenha alguma agência com o nome extato de "AG") Caso isso aconteça vc vai "perder" o ponteiro e mesmo se vc digitar "AGB", e este registro EXISTE!, vc não vai encontrar o registro.
para evitar isto tente fazer assim:
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "cmdLocalizar"
Dim criterio As Variant
Dim str As String
str = InputBox$("Digite o nome da agência: ", "Localizar Agencia")
criterio = CVar(str)
' If str = "" Then
' MsgBox "Para localizar a Agência, digite o nome da agência."
' Exit Sub
' End If
adoAgencias.Recordset.Find "agencia = '" & criterio & "'"
If adoAgencias.Recordset.EOF Then
MsgBox "registro não encontrado", vbCritical
adoAgencias.Recordset.MoveF irst
End If
txtAgencia.SetFocus
Case "cmdSair"
Unload Me
End Select
End Sub
Se vc quiser encontrar palavras semelhantes, por exemplo se vc digitar "Ag" e quiser encontrar palavras q começam com estas letras tente assim:
adoAgencias.Recordset.Find "Name like '" & criterio & "*'"
ok?? Bom isso tudo é uma especulação do problema, realmente não sei o q passa pode ser isso q descrevi ou não.
qq problema é só postar
t+
