none
Cómo actualizar un combobox a partir de otro combobox en VB 2010

    Question

  • Buenas, tengo un problema tengo 2 combobox y quiero actualizar uno a partir del otro, pero solo puedo hacerlo cuando le doy clic al combo que debería actualizarse solo.

    Los combos son cédula y nombre y quiero que a la hora de seleccionar la cédula automáticamente el combo nombre se actualice según corresponda. Voy adjuntar el código que tengo espero me puedan ayudar.

    ‘así cargo los combos en mi formulario

    Sub CargarCombos()

            Try

                vo_Cbocedula.CargarCombos("SELECT DISTINCT alumno.cedula_est FROM alumno INNER JOIN matricula ON alumno.cedula_est = matricula.cedula_est", 0)

                vo_Cbonombre.CargarCombos("SELECT  DISTINCT alumno.nombre_est + ' ' + alumno.apellidos_est AS nombre FROM alumno INNER JOIN matricula ON alumno.cedula_est = matricula.cedula_est", 0)

            Catch ex As Exception

                MsgBox("Ha ocurrido el siguiente problema: " & ex.Message, MsgBoxStyle.Critical, "ESCUELA XXX")

            End Try

        End Sub

    ‘así valido datos en el combo cedula y desde el cual quiero actualizar el combo nombre

    Private Sub cbo_cedula_validated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbo_cedula.Validated

            If Len(cbo_cedula.Text) Then

                Try

                    With vo_notas

                        .conectar = True

                        .EjecutarCommandoSQL("SELECT alumno.cedula_est, alumno.nombre_est + ' ' + alumno.apellidos_est AS nombre FROM alumno INNER JOIN matricula ON alumno.cedula_est = matricula.cedula_est WHERE  (alumno.cedula_est = N'" & cbo_cedula.Text & "')")

                        If .dbDataReader.Read Then

                            Me.cbo_nombre.Text = .dbDataReader(1)

                            cbo_nombre.Refresh()

                            Exit Sub

                        End If

                        cbo_nombre.Refresh()

                        If cbo_nombre.Text = 0 Then

                            MsgBox("ESTE USUARIO NO EXISTE, DEBE INGRESAR UN NÚMERO DE CÉDULA VALIDO ", MsgBoxStyle.Critical, " ESCUELA XXX ")

                            cbo_cedula.Focus()

                        Else

                            If cbo_cedula.Text > 0 Then

                                Me.cbo_nombre.Text = .dbDataReader(1)

                                cbo_ano.Focus()

                            End If

                            Exit Sub

                        End If

                        .conectar = False

                    End With

                Catch ex As Exception

                End Try

            End If

        End Sub

    Sunday, March 03, 2013 5:45 AM

All replies

  • hola

    pero porque usas el evento

    cbo_cedula_validated

    no deberias usar el SelectionChengeommited, con ese si capturas la accion de seleccion del usuario

    aqui explico sobre el tema

    [WinForms] ComboBox Anidados

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Proposed as answer by Albert Vega Tuesday, November 05, 2013 2:01 AM
    Sunday, March 03, 2013 12:59 PM
  • Buenas,

    Disculpa la ignorancia sobre el tema y muchas gracias por la ayuda me sirvió a la perfección.
    Tuesday, March 05, 2013 2:34 AM