Principales respuestas
Cargar un dato en un Label según selección hecha en un ComboBox (Visual Basic .Net)

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.
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 EmpleadoHola, 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.
- Editado Enrique M. MontejoModerator domingo, 28 de enero de 2018 17:43
- Propuesto como respuesta Pablo Rubio lunes, 29 de enero de 2018 16:26
- Marcado como respuesta Enrique M. MontejoModerator martes, 30 de enero de 2018 15:22
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
- Propuesto como respuesta Juan MondragónModerator viernes, 26 de enero de 2018 16:59
- Votado como útil Enrique M. MontejoModerator domingo, 28 de enero de 2018 17:37
- Propuesto como respuesta Pablo Rubio lunes, 29 de enero de 2018 16:26
- Votado como útil Enrique M. MontejoModerator lunes, 29 de enero de 2018 17:34
-
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ú
- Editado Brayan De La Cruz viernes, 26 de enero de 2018 16:25 add
- Propuesto como respuesta Pablo Rubio lunes, 29 de enero de 2018 16:26
- Votado como útil Enrique M. MontejoModerator lunes, 29 de enero de 2018 17:34
-
"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 EmpleadoHola, 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.
- Editado Enrique M. MontejoModerator domingo, 28 de enero de 2018 17:43
- Propuesto como respuesta Pablo Rubio lunes, 29 de enero de 2018 16:26
- Marcado como respuesta Enrique M. MontejoModerator martes, 30 de enero de 2018 15:22