Utiliza el metodo "FindFirst". Te pongo el ejemplo de la ayuda de VB:
Código:
Este ejemplo utiliza los métodos FindFirst, FindLast, FindNext y FindPrevious para mover el puntero del registro de un objeto Recordset basado en una cadena de búsqueda suministrada y un comando. Se necesita la función EncontrarCualquiera para ejecutar este procedimiento.
Sub FindFirstX()
Dim dbsNeptuno As Database
Dim rstClientes As Recordset
Dim strPaís As String
Dim varMarcador As Variant
Dim strMensaje As String
Dim intComando As Integer
Set dbsNeptuno = OpenDatabase("Neptuno.mdb")
Set rstClientes = dbsNeptuno.OpenRecordset( _
"SELECT NombreCompañía, Ciudad, País " & _
"FROM Clientes ORDER BY NombreCompañía", _
dbOpenSnapshot)
Do While True
' Obtiene una entrada del usuario y construye la cadena de búsqueda.
strPaís = _
Trim(InputBox("Introduzca el país a buscar."))
If strPaís = "" Then Exit Do
strPaís = "País = '" & strPaís & "'"
With rstClientes
' Llena el Recordset.
.MoveLast
' Encuentra el primer registro que coincide
' con la cadena de búsqueda. Sale del bucle si no existe ningún registro.
.FindFirst strPaís
If .NoMatch Then
MsgBox "No se encontraron registros con " & _
strPaís & "."
Exit Do
End If
Do While True
' Almacena el marcador de posición del registro actual.
varMarcador = .Bookmark
' Obtiene la elección del usuario del método a utilizar.
strMensaje = "Compañía: " & !NombreCompañía & _
vbCr & "Ciudad: " & !Ciudad & ", " & _
!País & vbCr & vbCr & _
strPaís & vbCr & vbCr & _
"[1 - Primero, 2 - Último, " & _
vbCr & "3 - Siguiente, " & _
"4 - Anterior]"
intComando = Val(Left(InputBox(strMensaje), 1))
If intComando < 1 Or intComando > 4 Then Exit Do
' Utiliza el método Find seleccionado. Si
' falla Find, vuelve al último registro actual.
If EncontrarCualquiera(intComando, rstClientes, _
strPaís) = False Then
.Bookmark = varMarcador
MsgBox "No hay coincidencias –volviendo al " & _
"registro actual."
End If
Loop
End With
Exit Do
Loop
rstClientes.Close
dbsNeptuno.Close
End Sub
Function EncontrarCualquiera(intChoice As Integer, _
rstTemp As Recordset, _
strEncontrar As String) As Boolean
' Utiliza el método Find basado en la entrada del usuario.
Select Case intChoice
Case 1
rstTemp.FindFirst strEncontrar
Case 2
rstTemp.FindLast strEncontrar
Case 3
rstTemp.FindNext strEncontrar
Case 4
rstTemp.FindPrevious strEncontrar
End Select
' Establece el valor devuleto basado en la propiedad NoMatch.
EncontrarCualquiera = IIf(rstTemp.NoMatch, False, True)
End Function
Copyright (c) 1996 Microsoft Corporation Saludos.