none
visual studio 2012 RRS feed

  • Pregunta

  • soy nuevo en esto.

    Buen dia, necesito saber como hacer para buscar un registro desde un combobox a una tabla de acces mediante una conexion odbc.

    me busca solo el primer registro pero los demás no.

     Private Sub ComboBox1_SelectedIndexChanged_1(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
            If ComboBox1.SelectedItem = "A" Then
                Dim codbc As New System.Data.Odbc.OdbcConnection("dsn=peluqueria;")
                codbc.Open()
                If codbc.State = ConnectionState.Open Then
                    'MsgBox("conexion abierta")
                End If

                Dim paSeleccionar As New System.Data.Odbc.OdbcCommand()

                paSeleccionar.Connection = codbc
                paSeleccionar.CommandType = CommandType.Text
                paSeleccionar.CommandText = "SELECT * from [tikets]"

                'paSeleccionar.ExecuteNonQuery()

                Dim daLlenar As New Odbc.OdbcDataAdapter(paSeleccionar)
                Dim tabla As New Data.DataTable()
                daLlenar.Fill(tabla)

                If tabla.Rows.Count = 1 Then

                End If

                TextBox1.Text = tabla.Rows(0).Item("codigo").ToString()
                TextBox2.Text = tabla.Rows(0).Item("tikets").ToString()
                MsgBox("Registro Encontrado", , " ")
            End If


    sábado, 2 de diciembre de 2017 21:10

Respuestas

  • [...] me busca solo el primer registro pero los demás no.

    [...]   If ComboBox1.SelectedItem = "A" Then

    Fíjate en ese "If" que has puesto, que dice "Si en el combo han seleccionado la A entonces busca...". Y luego ya no pone nada más. No hay en el código que has mostrado nada que haga una búsqueda si seleccionan cualquier otra cosa, así que no es de extrañar que las otras opciones no busquen.

    O si te refieres a que en los textboxes solo muestra el primer registro, bueno, eso es lógico. El textbox solo sirve para mostrar UN registro, y de hecho el registro lo indicas cuando dices TextBox1.Text = tabla.Rows(0).Item("codigo").ToString(). Ese "(0)" significa "quiero tomar el registro número cero", y nunca le cambias el valor, luego es normal que no salgan más registros. Si querías mostrar muchos registros, en lugar del textbox pon un DataGridView, y conéctalo con un databinding a tu variable "tabla": dataGridView1.DataSource = tabla.

    sábado, 2 de diciembre de 2017 21:30