none
Enlace Combobox a BD access RRS feed

  • Pregunta

  • Hola, estoy haciendo un proyecto con Visual Studio 2010, y quiero enlazar varios ComboBox con una misma tabla de una base de datos, de tal manera que cada combo box contenga como items una columna de la tabla.

    El problema es que cuando elijo en un combobox un elemento de la BD, auntomáticamente en el otro combobox me aparece el mismo dato pero de otra columna, y lo que quiero es poder elegir diferentes datos de la misma BD en los combobox.

    Leí en la red que el problema es que selecciono el mismo origen de datos para los combo box, pero no encuentro otra forma de hacerlo, alguien me puede ayudar??

    miércoles, 8 de agosto de 2012 21:44

Respuestas

  • despues de tanto buscar por la red, encontré una solución 

    ComboBox2.DataSource = dtejemplo.Copy

    con esto se soluciona el problema, gracias!

    • Marcado como respuesta Luis Pintado lunes, 20 de agosto de 2012 22:04
    lunes, 20 de agosto de 2012 20:44

Todas las respuestas

  • quiero enlazar varios ComboBox con una misma tabla de una base de datos, de tal manera que cada combo box contenga como items una columna de la tabla.

    como es que cargas los datos de la tabla para poder usarlos en el combo?

    porque sino recuerdo mal debes cargar difenretes datatable para que los combos sean independientes, no puede usar la misma instancia para asignar el datasource de todos los controles


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 9 de agosto de 2012 4:47

  • Este seria un ejemplo de lo que quiero hacer, de un combo box con los items previamente cargados (juguetes, electronica, ropa, etc) al seleccionar un caso quiero que los demás combos se rellenen con la informacion de cada una de las tablas, hasta ahí esta perfecto pero cuando selecciono un codigo los otros dos combobox cambian al index que seleccione del modelo, Gracias de antemano

    Private Sub cmbLinea_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbLinea.SelectedIndexChanged


    Select Case (cmbProducto.Text)
                Case "Juguetes"

                    cmbmarca.DataSource = productosDataSet1.Juguetes
                    cmbmarca.DisplayMember = "Marca"
                    cmbcodigo.DataSource = productosDataSet1.Juguetes
                    cmbcodigo.DisplayMember = "Codigo"
                    cmbmodelo.DataSource = productosDataSet1.juguetes
                    cmbmodelo.DisplayMember = "Modelo"


                Case "Electronica"
                    cmbmarca.DataSource = productosDataSet1.electronica
                    cmbmarca.DisplayMember = "Marca"
                    cmbcodigo.DataSource = productosDataSet1.electronica
                    cmbcodigo.DisplayMember = "Codigo"
                    cmbmodelo.DataSource = productosDataSet1.electronica
                    cmbmodelo.DisplayMember = "Modelo"

    End select

    End Sub

    jueves, 9 de agosto de 2012 20:27
  • despues de tanto buscar por la red, encontré una solución 

    ComboBox2.DataSource = dtejemplo.Copy

    con esto se soluciona el problema, gracias!

    • Marcado como respuesta Luis Pintado lunes, 20 de agosto de 2012 22:04
    lunes, 20 de agosto de 2012 20:44
  • despues de tanto buscar por la red, encontré una solución 

    ComboBox2.DataSource = dtejemplo.Copy

    con esto se soluciona el problema, gracias!

    Hola, soy nuevo en esto, pero probe lo mensionado por Luis y funciona super bien, les dejo mi codigo para que vean donde aplique lo enseñado por Luis.

    Luis, gracias por su aporte ;)

            Dim con As New OleDb.OleDbConnection
            Dim comando As New OleDb.OleDbCommand
            Dim adaptador As New OleDb.OleDbDataAdapter
            Dim datos As New DataTable

            Try
                con.ConnectionString = "conexion de su BD access"
                'listado de bases
                con.Open()
                comando.Connection = con
                comando.CommandType = CommandType.Text
                comando.CommandText = "SELECT * FROM bbrr"
                adaptador.SelectCommand = comando
                adaptador.Fill(datos)
                BBRRComboBox_bbrr.DataSource = datos.Copy      >>>> Lo mencionado por Luis
                BBRRComboBox_bbrr.DisplayMember = "BBRR"
                BBRRComboBox_bbrr.ValueMember = "BBRR"
                BBRRComboBox_bbrr.ResetText()
                BBRRComboBox_bbrr.SelectedText = "Base solicitante"
                con.Close()                                                           >>>> Sin esto, el segundo combobox no se llena por completo

                'listado de area
                con.Open()
                comando.Connection = con
                comando.CommandType = CommandType.Text
                comando.CommandText = "SELECT * FROM area"
                adaptador.SelectCommand = comando
                adaptador.Fill(datos)
                AreaComboBox.DataSource = datos.Copy
                AreaComboBox.DisplayMember = "area"
                AreaComboBox.ValueMember = "area"
                AreaComboBox.ResetText()
                AreaComboBox.SelectedText = "Defina area competente"
                con.Close()

            Catch ex As Exception

            End Try

    jueves, 27 de octubre de 2016 13:33