con ado solo existe un metodo de busqueda exclusivo que es find no existe findfirst o otra cosa un codigo de ejemplo:
lo primero es ir a proyecto-Referencias y escoger microsoft active data object 2.1
dim rsproductos as new adodb.recordset
rsproductos.CursorLocation = adUseClient
'seleccionas los campos que quieres y estableces la conexion
rsproductos.Open "select * from Productos", Cn
'para la busqueda usas un textbox obiamente para pasar el parametro
esta estructura es sencilla pero funciona
With rsproductos 'buscar codigo que no exista en la tabla Productos
.MoveFirst
.Find "IdProducto=" & Val(Trim(Tex1.Text)) & ""
If .EOF Or .BOF Then
'si llega a final de archivo, entonces no existe, de lo contrario.....
o puedes hacer lo contrario (if not .EOF or not .BOF then)
Else
MsgBox "Este codigo ya Existe!!", vbInformation, "Facturacion"
text1.SetFocus
Exit Sub
End If
End With
espero te sirva de mucho