none
Obtener valor de id de combobox y pasarlo a una variable RRS feed

  • Pregunta

  • Hola que tal, tengo un problema, tengo un combobox que se llena con una tabla de la base de datos, se llama cbproveedor, lo lleno con los datos id_proveedor, nombre_proveedor y rfc_proveedor; posteriormente al seleccionar un elemento del combo me pasa la informacion hacia 3 textbox, posteriormente tengo un boton de actualizar que hace un uptdate en la tabla tbl_proveedor para hacer cambios en los datos.

    LO QUE QUIERO ES QUE  AL SELECCIONAR UN ELEMENTO EN EL COMBOBOX, QUE ME ASIGNE EL ELEMTNO ID A UNA VARIABLE PARA REALIZAR EL UPDATE

    Esta es mi sentencia UPDATE

     comandos = New OleDbCommand("UPDATE tbl_proveedor SET nombre_proveedor ='" & nombre & "' , direccion_proveedor = '" & direccion & "', rfc_proveedor = '" & rfc & "' WHERE id_proveedor = '" & idproveedor & "'", conexion)

    Con este codigo cargo el combobox

     Try
                Dim da As New OleDbDataAdapter
                conexion.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=farmacia.accdb"
                comandos = conexion.CreateCommand
                comandos.CommandText = "SELECT * FROM tbl_proveedor"
                da.SelectCommand = comandos
                Dim dt As New DataTable
                da.Fill(dt)
                cbproveedor.DataSource = dt
                cbproveedor.DisplayMember = "nombre_proveedor"
                cbproveedor.ValueMember = "id_proveedor"
                cbproveedor.Text = "Seleccione un Proveedor"
            Catch ex As Exception
                MsgBox("Erro al cargar los Datos , Favor de volver abrir la pantalla", vbInformation, "Error")
                conexion.Close()
            End Try

    Ahora tengo un boton actualizar que quiero que una variable tome el ID de mi seleccion del combobox para hacer el update where id_proveedor = variable

    He probado con 

    Dim idproveedor = cbproveedor.Value y .Valu.ToString

    Saludos! Gracias por el apoyo

    • Cambiado Enrique M. Montejo viernes, 12 de junio de 2015 9:45 Pregunta relacionada con el acceso a datos.
    miércoles, 10 de junio de 2015 21:30

Todas las respuestas

  • Hola EDUARDOV9 prueba con la propiedad selectedvalue del control combobox:

    Dim Valor As String = cboproveedor.SelectedValue.ToString()
    Espero haberte ayudado.


    • Editado Aldair Cosetito miércoles, 10 de junio de 2015 21:46
    • Propuesto como respuesta Sergio Parra miércoles, 10 de junio de 2015 21:50
    miércoles, 10 de junio de 2015 21:34
  • No me funciona, me da error en la base de datos, por que no me marca error en el codigo al momento de debugear, 

    He intentado con:

    Dim idproveedor As Integer
    Dim idproveedor As String
    
    idproveedor = cbproveedor.SelectedValue().ToString
    idproveedor = cbproveedor.SelectedValue("id_proveedor")
    idproveedor = cbproveedor.SelectedValue("id_proveedor").toString
    
    y demas =/
    
    Seguire intentando


    miércoles, 10 de junio de 2015 21:53
  • EDUARDOV9 podrías mostrar el error y la linea de código donde te muestra dicho error.

    Si es que el tipo de dato es Entero debería de convertir el valor seleccionado del combo a entero, si es cadena aplicarías .ToString()

    Dim idproveedorEntero As Integer
    Dim idproveedorCadena As String
    
    idproveedorCadena = cbproveedor.SelectedValue.ToString()
    idproveedorEntero = Convert.ToInt32(cbproveedor.SelectedValue)

    Deberías también poner la siguiente linea de código:

    comandos.CommandType = CommandType.Text

    Espero haberte ayudado.

    miércoles, 10 de junio de 2015 22:03