Hola!!
Cambia estas lineas:
Código vb:
Ver original...
...
rs.Open sql, Cconexion, adOpenForwardOnly, adLockReadOnly
If rs.EOF Then
...
...
Por:
Código vb:
Ver original...
...
rs.Open sql, Cconexion, adOpenDynamic, adLockReadOnly
If rs.EOF =True Then
...
...
Como tienes "adOpenForwardOnly" la lectura solo es hacia adelante, por lo que al poner un codigo erroneo, el cursor se queda al final del recordset; asi cuando pones el codigo correcto, no lo va a encontrar por que el cursor esta al final y de seguro que el codigo que buscas está al principio o en el medio.
En cambio, "adOpenDynamic" la lectura es hacia adelante y hacia atras, lo que tiene que resolver el problema.
Justo como haces en:
Código vb:
Ver original...
...
Tabla.Open "select .....where ...articulos.codigo= '"
& Me.DataGrid2.Columns(2).Text & "'",
Cconexion, adOpenDynamic, adLockOptimistic
...
...
Verifica y nos cuentas!!