none
Combobox con dos columnas autocompletado datos RRS feed

  • Pregunta

  • Buenas noches, he adaptado un código para un combobox donde concatena dos columnas en una sola y filtra los datos segun se va digitando por la primera columna, muestra el dato seleccionado concatendado. Como podria hacer para que al seleccionar o elegir un dato solo quede en el combobox el primer dato "RUC" y que el segundo dato "RSocial" pase a un combobox.

    Adjunto código

    Public Class Form1
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ComboBox1.AutoCompleteMode = AutoCompleteMode.Suggest
            ComboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
            Dim combData As New AutoCompleteStringCollection()
            getData(combData)
            ComboBox1.AutoCompleteCustomSource = combData
        End Sub

        Private Sub getData(ByVal dataCollection As AutoCompleteStringCollection)
            Dim connetionString As String = Nothing
            Dim connection As OleDbConnection
            Dim command As OleDbCommand
            Dim adapter As New OleDbDataAdapter()
            Dim ds As New DataSet()
            connetionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\maazContable2020v2\DBEmpresas\102052355022021.accdb"
            REM Dim sql As String = "SELECT DISTINCT [NRuc] FROM [TClientes]"
            Dim sql As String = "SELECT TClientes.NRuc & '  ' & TClientes.Razon_Social FROM TClientes WHERE TClientes.NRuc Like '%'"
            connection = New OleDbConnection(connetionString)
            Try
                connection.Open()
                command = New OleDbCommand(sql, connection)
                adapter.SelectCommand = command
                adapter.Fill(ds)
                adapter.Dispose()
                command.Dispose()
                connection.Close()
                For Each row As DataRow In ds.Tables(0).Rows
                    dataCollection.Add(row(0).ToString())
                Next
            Catch ex As Exception
                MessageBox.Show("Can not open connection ! ")
            End Try
        End Sub

        Private Sub ComboBox1_SelectionChangeCommitted(sender As Object, e As EventArgs) Handles ComboBox1.SelectionChangeCommitted
            Me.TextBox1.Text = Convert.ToString(ComboBox1.SelectedValue)
        End Sub

        Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
            Me.TextBox1.Text = Me.ComboBox1.Text
        End Sub

    Espero me puedan ayudar, gracias


    Miguel Arias

    sábado, 3 de abril de 2021 0:43

Respuestas

Todas las respuestas

  • Hola Miguel,

    ¿Alguna novedad sobre la consulta realizada? ¿Haz podido solucionar el problema?

    Gracias por usar los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    lunes, 5 de abril de 2021 13:39
    Moderador
  • Hola Eric Ruiz, no he encontrado alguna alternativa, pero si estube buscando en el foro y al parecer el combobox no permite otras columnas, pero si hay algunos controles de terceros, pero estaba pensando e intentando solo pasar el valor de la razon social al textbox de la siguiente manera

    textbox1.text=microsoft.visualbasic.left(combobox1.text,microsoft.visualbasic.len(combobox1.text)-12)

    y el combobox reducir el tamaño para que solo visualice el numero de RUC, pero no puedo pasar el valor del combobox seleccionado al textbox todavia

    Saludos


    Miguel Arias

    martes, 6 de abril de 2021 16:24
  • Gracias Miguel, por compartir lo que has investigado hasta el momento.

    Saludos,

    Eric Ruiz

    miércoles, 7 de abril de 2021 14:01
    Moderador