Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/09/2008, 12:06
Avatar de culd
culd
 
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 21 años, 6 meses
Puntos: 19
Respuesta: VB6: Trabajar con el ComboBox

Cita:
Iniciado por SalomonSab Ver Mensaje
Hola que tal a todos, tengo un problema con mis combobox este es mi codigo

Código:
Private Sub CmbDepto_Click()
    If Rs.State = 1 Then Rs.Close
    Rs.Open "SELECT * FROM Departamentos WHERE DEPARTAMENTO = '" & CmbDepto.Text & "'", Cnn, adOpenStatic, adLockOptimistic
    Rs.Requery 1
        CmbUsuario.Enabled = True
        CmbUsuario.Clear
         While Rs.EOF = False
            CmbUsuario.AddItem Rs.Fields("USUARIO")
            Rs.MoveNext
         Wend

End Sub
Explico lo que me pasa:

1.- Tengo dos combobox uno llamado CmbDepto y el otro CmbUsuario
2.- lo que prentendo es que en el combo CmbDepto al dar click me muestra en el cmbUsuario todos los usuarios del departamento que seleccione en el CmbDepto
3.-Esto me funciona cuando habro el formulario pero al cerrarlo y lo vuelvo abrir me dice que: Error 33709 en tiempo de ejecución que se describe asi: No se puede usar la conexión para realizar esta operación. Esta cerrada o no es valida en este contexto.

Espero haberme explicado si no me dicen por lo pronto gracias por cualquier aporte que se me pueda dar.
Claro por que ya tenes una consulta cargada, tenes que cerrarla para volver a realizarla con "rs.Close"

te quedaria asi

Código:
Private Sub CmbDepto_Click()
    If Rs.State = 1 Then Rs.Close
    Rs.Open "SELECT * FROM Departamentos WHERE DEPARTAMENTO = '" & CmbDepto.Text & "'", Cnn, adOpenStatic, adLockOptimistic
    Rs.Requery 1
        CmbUsuario.Enabled = True
        CmbUsuario.Clear
         While Rs.EOF = False
            CmbUsuario.AddItem Rs.Fields("USUARIO")
            Rs.MoveNext
         Wend
    Rs.Close
No es error del combo, es error tuyo al manejar la base de datos