none
Ayuda filtro buscar en vb.net con access

    Pregunta

  • Ayuda filtro buscar en vb.net con access

    tengo un programa con un datagridview conectado a una base de datos en access y quiero que por medio de un textbox ingresar datos y me muestre en el datagridview  si es el caso y si no encuentra me salga un mensaje diciendo usuario no ingresado o no encontrado no se mucho de eso espero ayuda..

    miércoles, 1 de febrero de 2017 21:10

Respuestas

  • Hola betto593,

    Según tu historial de preguntas en el Foro, estás utilizando Access como base de datos. (proveedor OleDb).

    ¿Cómo piensas realizar el filtro, automáticamente (mientras escribe va buscando)  o mediante un botón y/o tecla ?

    - En caso sea la primera opción, tendrías que utilizar el evento TextChanged de tu TextBox.

    Algo como :

    Private Sub buscarData(ByVal search As String)
        Try
            Using con As New OleDbConnection("MiCadenaConexion")
    
                Dim query = "select * from miTabla where campo1 like ?"
    
                Dim adap As New OleDbDataAdapter(query, con)
                adap.SelectCommand.Parameters.AddWithValue("@p1", "%" & search & "%")
    
                Dim dt As New DataTable
    
                'Cargamos el resultado en el DataTable
                adap.Fill(dt)
    
                If dt.Rows.Count > 0 Then
                    'Si hay datos ..
    
                    'Asigno la data al DatagridView
                    DataGridView1.DataSource = dt
                Else
                    'No hay resultados
                    MessageBox.Show("No se encontraron coincidencias.")
                End If
    
            End Using
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub


    Y para ejecutarlo :

    Private Sub txtBuscar_TextChanged(sender As Object, e As EventArgs) Handles txtBuscar.TextChanged
         buscarData(CType(sender, TextBox).Text)
    End Sub

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    miércoles, 1 de febrero de 2017 23:33
  • miércoles, 1 de febrero de 2017 23:47

Todas las respuestas

  • Hola betto593,

    Según tu historial de preguntas en el Foro, estás utilizando Access como base de datos. (proveedor OleDb).

    ¿Cómo piensas realizar el filtro, automáticamente (mientras escribe va buscando)  o mediante un botón y/o tecla ?

    - En caso sea la primera opción, tendrías que utilizar el evento TextChanged de tu TextBox.

    Algo como :

    Private Sub buscarData(ByVal search As String)
        Try
            Using con As New OleDbConnection("MiCadenaConexion")
    
                Dim query = "select * from miTabla where campo1 like ?"
    
                Dim adap As New OleDbDataAdapter(query, con)
                adap.SelectCommand.Parameters.AddWithValue("@p1", "%" & search & "%")
    
                Dim dt As New DataTable
    
                'Cargamos el resultado en el DataTable
                adap.Fill(dt)
    
                If dt.Rows.Count > 0 Then
                    'Si hay datos ..
    
                    'Asigno la data al DatagridView
                    DataGridView1.DataSource = dt
                Else
                    'No hay resultados
                    MessageBox.Show("No se encontraron coincidencias.")
                End If
    
            End Using
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub


    Y para ejecutarlo :

    Private Sub txtBuscar_TextChanged(sender As Object, e As EventArgs) Handles txtBuscar.TextChanged
         buscarData(CType(sender, TextBox).Text)
    End Sub

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    miércoles, 1 de febrero de 2017 23:33
  • miércoles, 1 de febrero de 2017 23:47