none
Cargar un dato en un Label según selección hecha en un ComboBox (Visual Basic .Net) RRS feed

  • Pregunta

  • Tengo un formulario enlazado a varias tablas de mi base de datos (combustible.mdb)

    En el formulario tengo varios ComboBox, lo que necesito hacer es lo siguiente:

    • Al seleccionar un código en el ComboBox "Empleado" que aparezca a la par en un Label el Nombre del Empleado.
    • Al seleccionar un código en el ComboBox "Vehiculo" que aparezca a la par en un Label el Numero de placa del vehículo.
    • Al seleccionar un código en el ComboBox "Proveedor" que aparezca a la par en un Label el Nombre del Proveedor.
    • Al seleccionar un código en el ComboBox "Combustible" que aparezca a la par en un Label el Nombre del Combustible.

    Espero haber sido claro en mi explicación, quedo atento a sus comentarios.

    viernes, 26 de enero de 2018 16:10

Respuestas

  • "Luis Murga" escribió:

    > Tengo un formulario enlazado a varias tablas de mi base de datos (combustible.mdb)
    >
    > En el formulario tengo varios ComboBox, lo que necesito hacer es lo siguiente:
    >
    > • Al seleccionar un código en el ComboBox "Empleado" que aparezca a la par
    > en un Label el Nombre del Empleado

    Hola, Luis:

    Suponiendo que cada control ComboBox está enlazado a su correspondiente objeto DataTable, y este contiene las columnas de las tablas de la base de datos que vas a utilizar, tienes que configurar cada control ComboBox como indico a continuación:

        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            ' Obtener el objeto DataTable de Empleados
            cboEmpleados.DataSource = ObtenerDataTableEmpleados()
    
            ' En el control ComboBox se mostrarán los valores
            ' correspondientes al campo IdEmpleado.
            '
            cboEmpleados.DisplayMember = "IdEmpleado"
    
            ' Indicamos que se recupere el valor del campo NombreEmpleado
            '
            cboEmpleados.ValueMember = "NombreEmpleado"
    
        End Sub

    Y ahora, mejor en el evento SelectedValueChanged que en el evento SelectedIndexChanged del control ComboBox, recuperarías automáticamente el nombre del empleado al seleccionar cualquier elemento del control ComboBox:

        Private Sub cboEmpleados_SelectedValueChanged(sender As Object, e As EventArgs) Handles cboEmpleados.SelectedValueChanged
    
    ' Obtenemos el valor del campo especificado
            ' en la propiedad ValueMember Dim value As Object = cboEmpleados.SelectedValue If (TypeOf value Is String) Then ' Si es un valor alfanumérico, mostramos el ' valor del Nombre del Empleado. lblNombre.Text = value.ToString() End If End Sub

    Pues lo mismo tienes que hacer con los restantes controles ComboBox. ;-)

    Un saludo


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.




    domingo, 28 de enero de 2018 17:37
    Moderador

Todas las respuestas

  • sera algo asi lo que necesitas

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) _Handles ListBox1.SelectedIndexChanged
          Label1.Text = ComboBox1.SelectedItem.ToString()
       End Sub


    Att. Franklin Andino

    viernes, 26 de enero de 2018 16:24
  • Hola

    Al parecer vas a tener listado en el combobox códigos de empleados, ahora lo que recomiendo es que al llenar el combo, en su propiedad DisplayMember muestres el "código" y cuando lo selecciones vas a disparar el evento selectedindexchanged y lo muestres con la propiedad selecteditem.

    ComboBox_SelectedIndexChanged(......)
          lblEmpleado.Text = ComboBox.SelectedItem.ToString()
    End...

    y deberás hacer lo mismo para todos los combobox

    Saludos


    Brayan De la Cruz
    Lima - Perú


    viernes, 26 de enero de 2018 16:25
  • "Luis Murga" escribió:

    > Tengo un formulario enlazado a varias tablas de mi base de datos (combustible.mdb)
    >
    > En el formulario tengo varios ComboBox, lo que necesito hacer es lo siguiente:
    >
    > • Al seleccionar un código en el ComboBox "Empleado" que aparezca a la par
    > en un Label el Nombre del Empleado

    Hola, Luis:

    Suponiendo que cada control ComboBox está enlazado a su correspondiente objeto DataTable, y este contiene las columnas de las tablas de la base de datos que vas a utilizar, tienes que configurar cada control ComboBox como indico a continuación:

        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            ' Obtener el objeto DataTable de Empleados
            cboEmpleados.DataSource = ObtenerDataTableEmpleados()
    
            ' En el control ComboBox se mostrarán los valores
            ' correspondientes al campo IdEmpleado.
            '
            cboEmpleados.DisplayMember = "IdEmpleado"
    
            ' Indicamos que se recupere el valor del campo NombreEmpleado
            '
            cboEmpleados.ValueMember = "NombreEmpleado"
    
        End Sub

    Y ahora, mejor en el evento SelectedValueChanged que en el evento SelectedIndexChanged del control ComboBox, recuperarías automáticamente el nombre del empleado al seleccionar cualquier elemento del control ComboBox:

        Private Sub cboEmpleados_SelectedValueChanged(sender As Object, e As EventArgs) Handles cboEmpleados.SelectedValueChanged
    
    ' Obtenemos el valor del campo especificado
            ' en la propiedad ValueMember Dim value As Object = cboEmpleados.SelectedValue If (TypeOf value Is String) Then ' Si es un valor alfanumérico, mostramos el ' valor del Nombre del Empleado. lblNombre.Text = value.ToString() End If End Sub

    Pues lo mismo tienes que hacer con los restantes controles ComboBox. ;-)

    Un saludo


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.




    domingo, 28 de enero de 2018 17:37
    Moderador