RE:Método Find y ¿nomatch?
Yo tuve el mismo problema pero trabajando con ADO en VBA, y utilice un código parecido al tuyo, pero simplemente no me funcionaba y aunque no encontrara ningún registro, se saltaba esta condicion, entonces al querer comparar el field del recordset con un valor me daba el error '3021', ya que no hay ningún registro activo. Una forma que se me ocurrio (aunque poco ortodoxa) fué gestionar el error
Algo así como
On error goto line1
.............
.............
rst.find ("NOMBRE = VALORINICIAL")
IF rst.eof = true then
::::::::::
::::::::::
else
rst . fields (n) = otrorst.fields(m) (aqui me producia el error, no hay registro activo, entonces salta a la linea1 y ya se que no encuentra nada)
end if
exit sub
line1:
if err.number = 3021 then
.................
.................
end sub
Pero luego descubri que con la propiedad recordset . absoluteposition puedes resolver el problema, búscalo en la ayuda interactiva para comprobar que valores devuelve cuando no hay registro activo.