none
¿Como puedo programar un textbox para que al darle clic me lo auto complete otro textbox con informacion de BD? RRS feed

  • Pregunta

  • Hace poco me enrolle en un proyecto y tengo una duda, en que si es posible (y si lo es como?)poder programar un textbox que al escribir una información y al darle doble clic a ese mismo textbox me auto complete la información referente a la base de datos de otro textbox.

    Ejemplo:

    Tengo dos textbox, uno para IDAlumno y otro para el Nombre.

    En uno coloco el IDAlumno, al haber finalizado de escribir ese ID y al darle doble clic, me auto complete el textbox de Nombre, con el nombre de la persona referente a ese ID

    El codigo esta asi, cree para el autocompletado

    Public Sub auto()
            conexion.Open()
            adapter = New SqlDataAdapter("Select IDAlumno,NombreCompleto from Alumno  order by IDAlumno", conexion)
            da = New DataTable

            adapter.Fill(da)
            If (da.Rows.Count > 0) Then
                For Each fila As DataRow In da.Rows
                    col1.Add(fila("IDAlumno").ToString)

                Next


            End If
            NumeroCuenta.AutoCompleteCustomSource = col1
            conexion.Close() End Sub

    y en el load simplemente llame la funcion pasando como parametro mi textbox

    auto()

    sábado, 1 de diciembre de 2018 2:18

Respuestas

  • Hola MCelest275

    Lo que pides lo puedes realizar en el lostfocus del textbox id, podria quedar asi

    Public Class ClassCargarTextBoxId
        Public Shared Sub CargarTextBoxSegunId(ByVal IdAs System.Windows.Forms.TextBox, ByVal Nombres As System.Windows.Forms.TextBox, ByVal nombre As System.Windows.Forms.TextBox)


            Try
                Dim cnx As New OleDbConnection(ClassDAL.ClassConexion.conexion)
                Dim SQLbuscar As String
               
                SQLbuscar = "SELECT * FROM PaAlumno ciente WHERE Id Like '%" & Id.Text & "%'"
                Dim cmd As New OleDbCommand(SQLbuscar, cnx)
                cmd.Parameters.AddWithValue("@Id", Id.Text)
                cmd.CommandType = CommandType.Text
                cnx.Open()
                Dim lectura As OleDbDataReader = cmd.ExecuteReader()
                If lectura.Read = True Then
                    Id.Text = lectura(0).ToString
                    Nombres.Text = lectura(2).ToString
                End If
                cnx.Close()
            Catch omitir As Exception
                MsgBox(omitir.Message)
            End Try

    despues llamas 

    ClassBLL.ClassCargarTextBoxId.CargarTextBoxSegunId(Id, txtNombres)

    saludos espero te sirva

    sábado, 1 de diciembre de 2018 15:00