Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

rs.Open como hacerlo?

Estas en el tema de rs.Open como hacerlo? en el foro de Visual Basic clásico en Foros del Web. Amigos, hace mucho que no uso VB y estoy un poco trabado con un codigo y me gustaria ver si podrian ayudarme con esto que ...
  #1 (permalink)  
Antiguo 11/01/2011, 11:35
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 4 meses
Puntos: 7
Pregunta rs.Open como hacerlo?

Amigos, hace mucho que no uso VB y estoy un poco trabado con un codigo y me gustaria ver si podrian ayudarme con esto que me esta quemando la cabeza.

el codigo es el siguiente:

Código:
Private Sub Text1_Change()

On Error Resume Next
    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

Funciona perfectamente, pero el problema es que como está en un Text1_Change, al presionar la letra por segunda vez, me salta un error indicando lo siguiente:

"La operacion no esta permitida si el objeto esta abierto"

Es obvio este mensaje, dado a que nunca cerre el objeto y al colocarle un rs.close en el objeto, el mismo se cierra y no se vuelve a abrir...

Código:
Private Sub Text1_Change()

On Error Resume Next
    rs.Open "select * from tbl_pacientes where apellido LIKE '%" & Me.Text1.Text & "%'", cnn, adOpenStatic, adLockOptimistic

    With DataGrid
        .AllowUpdate = False
    End With
    
    Call CargarDataGrid(DataGrid)

    rs.close 'agrego esto, pero la connecion se cierra forever...
    
End Sub
Me gustaria saber si existe alguna forma de realizar esto, es decir, que cuando una persona tipee una letra, automaticamente vallan apareciendo los datos en el datagird.

Quedo por favor a la espera de cualquier ayuda al respecto.

Muchas gracias.
  #2 (permalink)  
Antiguo 11/01/2011, 22:45
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 7 meses
Puntos: 47
Respuesta: rs.Open como hacerlo?

Hola!!
Por que no intentas asi:
Código vb:
Ver original
  1. Private Sub Text1_Change()
  2.  
  3. On Error Resume Next
  4.  
  5.     if rs.state=1 then rs.close
  6.  
  7.     rs.Open "select * from tbl_pacientes where apellido LIKE '%" & Me.Text1.Text & "%'", cnn, adOpenStatic, adLockOptimistic
  8.  
  9.     With DataGrid
  10.         .AllowUpdate = False
  11.     End With
  12.    
  13.     Call CargarDataGrid(DataGrid)
  14. End Sub

de esta forma se mantiene abierto el recordset...
  #3 (permalink)  
Antiguo 12/01/2011, 06:16
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 4 meses
Puntos: 7
Respuesta: rs.Open como hacerlo?

Hola Lokoman, muchas gracias

que supersolucion, mil gracias, no lo sabia.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:21.