none
Cargar textbox desde otro textbox al ser cambiado

    Pregunta

  • amigos necesito de su ayuda.

    necesito resolver que al modificar un textbox se carguen los demas textbox. la funcion seria asi.

    ingreso el rut de un cliente y al comenzar a modicar el textbox o mas bien terminar de validar el rut en ese campo me cargue el nombre del cliente y otros valores. tengo un código a medias, pero necesito que se cargue sin pasar por un datagrid, mi idea es que lea la consulta del select y se rellene se carguen los datos. no se si me explico bien al respecto, saludos.

    Private Sub cargartextbox()
            Dim Conn As New SqlClient.SqlConnection(ConnectionString)
            Dim dt2 As New DataTable
            Conn.Open()
            Dim ds As New DataSet
            Dim sql As String = " SELECT COT_NOMBRECLI, COT_RUT " & _
                                " FROM COTIZACIONES "
            Dim da As New SqlClient.SqlDataAdapter(sql, Conn)
            da.Fill(ds, "COTIZACIONES")
            DGVCOTIZACION.DataSource = ds
            DGVCOTIZACION.DataMember = "COTIZACIONES"
    
            Dim row As DataRow = dt2.Rows(0)
            TxtNombreCliente.Text = CStr(row("COT_NOMBRECLI"))
            
            Conn.Close()
            Conn = Nothing
            
        End Sub

    también probé así pero me carga el muestra el texto literal "COT_NOMBRECLI", con este código de mas abajo.

      Private Sub cargartextbox()
            Dim Conn As New SqlClient.SqlConnection(ConnectionString)
    
            Conn.Open()
            Dim ds As New DataSet
            Dim sql As String = " SELECT COT_NOMBRECLI, COT_RUT " & _
                                " FROM COTIZACIONES "
            Dim da As New SqlClient.SqlDataAdapter(sql, Conn)
            da.Fill(ds, "COTIZACIONES")
    
            TxtNombreCliente.Text = CStr("COT_NOMBRECLI")
            
            Conn.Close()
            Conn = Nothing
            
        End Sub

    miércoles, 28 de septiembre de 2016 14:30

Respuestas

  • Miguel Oyarzo,

    Podrías obtener las columnas de una fila leyendo los resultados con un cursor (SqlDataReader).

    Try
    	Using cn As New SqlConnection("Escribir cadena de conexión")
    		'Abrir conexión
    		cn.Open()
    
    		Dim ConsultaSql As String = "SELECT COT_NOMBRECLI,COT_RUT FROM COTIZACIONES WHERE COT_RUT=@COT_RUT"
    
    		Dim cmd As New SqlCommand(ConsultaSql, cn)
    
    		cmd.Parameters.AddWithValue("@COT_RUT", TxtRUT.Text)
    
    		Dim reader As SqlDataReader = cmd.ExecuteReader()
    
    		TxtNombreCliente.Text = String.Empty
    		If reader.Read Then
    			TxtNombreCliente.Text = reader.GetString(0)
    		End If
    	End Using
    Catch ex As Exception
    	MessageBox.Show(ex.Message)
    End Try


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    miércoles, 28 de septiembre de 2016 14:45

Todas las respuestas

  • Miguel Oyarzo,

    Podrías obtener las columnas de una fila leyendo los resultados con un cursor (SqlDataReader).

    Try
    	Using cn As New SqlConnection("Escribir cadena de conexión")
    		'Abrir conexión
    		cn.Open()
    
    		Dim ConsultaSql As String = "SELECT COT_NOMBRECLI,COT_RUT FROM COTIZACIONES WHERE COT_RUT=@COT_RUT"
    
    		Dim cmd As New SqlCommand(ConsultaSql, cn)
    
    		cmd.Parameters.AddWithValue("@COT_RUT", TxtRUT.Text)
    
    		Dim reader As SqlDataReader = cmd.ExecuteReader()
    
    		TxtNombreCliente.Text = String.Empty
    		If reader.Read Then
    			TxtNombreCliente.Text = reader.GetString(0)
    		End If
    	End Using
    Catch ex As Exception
    	MessageBox.Show(ex.Message)
    End Try


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    miércoles, 28 de septiembre de 2016 14:45
  • Hola Miguel Oyarzo,

    No sería mejor que implementaras un AutoComplete ?

    Es decir mientras va escribiendo le aparezcan las opciones.

    Algo como :

    Además, en que momento mandas a llamar al método, que evento ? 

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    miércoles, 28 de septiembre de 2016 16:35