Visual Basic.NET - buscar mientras se escribe

   
Vista:
Imágen de perfil de Francisco Javier Medrano Salez

buscar mientras se escribe

Publicado por Francisco Javier Medrano Salez (50 intervenciones) el 16/09/2015 01:03:48
Hola a todos:
Quiero que si el usuario teclea en un textbox las primeras letras de un nombre, estos nombres se desplieguen en un datagrid; si escribe s que enliste todos los que inician con "s", si escribe "sa", que se enlisten los nombres que inician con "sa" y asi sucesivamente; este es el codigo pero no logro hacerlo correctamente. Alguien puede ayudarme? Gracias de antemano:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Imports System.Data
Imports System.Data.OleDb
Public Class frmPrincipal
    Private conn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\est22.mdb"
    Private cmd As OleDbConnection = New OleDbConnection(conn)
    Private alumDataSet As DataSet
    Private tAdapter As OleDbDataAdapter = New OleDbDataAdapter
    Dim alum As String
    Private iniciando As Boolean = True
 
    Private Sub frmPrincipal_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        txtnombres.Text = ""
    End Sub
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        End
    End Sub
 
 
    Private Sub txtnombres_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtnombres.TextChanged
        Dim lista As Byte
        If txtnombres.Text <> "" Then
            tAdapter.SelectCommand = New OleDbCommand("SELECT * FROM alumnos where nombre =  '" + txtnombres.Text + "'", cmd)
            alumDataSet = New DataSet
            alumDataSet.Tables.Add("alumnos")
            tAdapter.Fill(alumDataSet.Tables("alumnos"))
            lista = alumDataSet.Tables("alumnos").Rows.Count
            If lista <> 0 Then
                DataGridView1.DataSource = alumDataSet
                DataGridView1.DataMember = "nombre"
            End If
        End If
    End Sub
End Class
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

buscar mientras se escribe

Publicado por David (45 intervenciones) el 16/09/2015 11:04:30
El WHERE de la consulta 23 de tu código está mal. Para lo que quieres debería ser

"SELECT * FROM alumnos WHERE nombre Like '" + txtnombres.Text + "%'"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco Javier Medrano Salez

buscar mientras se escribe

Publicado por Francisco Javier Medrano Salez (50 intervenciones) el 17/09/2015 00:58:43
Gracias amigo David, me ha funcionado muy bien. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de giancarlo

buscar mientras se escribe

Publicado por giancarlo giangbd5@hotmail.com (280 intervenciones) el 16/09/2015 17:57:09
Te puede servir este link http://www.lawebdelprogramador.com/foros/Visual-Basic.NET/1512021-Filtrar-data-grid-con-dataset.html

Recuerda que si tu pones el simbolo "=" buscara un registro que tenga el valor igual al que estas buscando, si tu quieres que empieze termine o contenga una cierta palabra, deberias usar "like" y el simbolo "%" como comodin, asi:

where columna='busqueda' --buscara un registro que sea igual a la palabra busqueda
where columna like 'busqueda' --buscara un registro que sea igual a la palabra busqueda
where columna like 'bus%' --buscara un registro que empieze con la palabra bus
where columna like '%bus' --buscara un registro que termine con la palabra bus
where columna like '%bus%' --buscara un registro que contenga la palabra bus, independiente si este en el medio, inicio o fin
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Francisco Javier Medrano Salez

buscar mientras se escribe

Publicado por Francisco Javier Medrano Salez (50 intervenciones) el 17/09/2015 00:59:33
Gracias Amigo Giancarlo, muy bien explicada tu ayuda. ya probé y me ha funcionado. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar