Hola!!
Por que no intentas asi:
Código vb:
Ver originalPrivate Sub Text1_Change()
On Error Resume Next
if rs.state=1 then rs.close
rs.Open "select * from tbl_pacientes where apellido LIKE '%" & Me.Text1.Text & "%'", cnn, adOpenStatic, adLockOptimistic
With DataGrid
.AllowUpdate = False
End With
Call CargarDataGrid(DataGrid)
End Sub
de esta forma se mantiene abierto el recordset...