1.- Estas intentando eliminar un registro que aun tienes cargado en un recordset
 
Primero deberias de cerrar tu recordset  
Código:
 ElseIf rst.RecordCount = 1 Then
rst.close
  2.- Le dices que haga un EXECUTE WHERE numero = ??????? tienes que darle el valor del número a eliminar, podria ser algo asi...  
Código:
 dbs.Execute "DELETE * FROM animales WHERE numero= '" & vnumero & "'
  o en su defecto almacena en una variable el campo Numero del Recordset rst y lo asignas a tu string Execute