|
Introducción
Para agilizar la búsqueda de
información, podemos utilizar un Control DataGridView, para eliminar el método
de usar una barra de botones inicio, siguiente, anterior y ultimo, esto permitiría
que la búsqueda de x registro almacenado
se pudiera encontrar con rapidez, un ejemplo encontrar un empleado en una tabla
de empleados para no navegar de forma secuencial hasta encontrar el registro
podemos usar un cuadro de texto en donde introduciríamos el primer nombre del
empleado, esta acción haría que en el grid se listaran todos los empleados cuyo
nombre iniciara con ese primer nombre.
Construyendo
la consulta
Construyendo la
consulta que permite el filtro de los empleados cuyo primer nombre empieza con
la letra especificada en el cuadro de texto. Para que esto funcione declaremos
la siguiente cadena de consulta.
Dim strSQLusuario As String = "SELECT *
FROM INV_usuario WHERE nombre_usuario1 " _
& "like "
& "'" & TextBoxusuario.Text
& "%" & "'"
La
instruccion sql en la cadena de consulta nos permite recuperar todos aquellos
registros que contengan la letra especificada para el primer nombre.
Para que
se produzca el afinamiento en la busqueda el codigo completo seria:
Private Sub
TextBoxusuario_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
TextBoxusuario.TextChanged
Dim strSQLusuario As String = "SELECT *
FROM INV_usuario WHERE nombre_usuario1 " _
& "like "
& "'" & TextBoxusuario.Text
& "%" & "'"
cmdusuario.CommandText = strSQLusuario
cmdusuario.CommandType = CommandType.Text
cmdusuario.Connection = dbConnectionu
dausuario.SelectCommand = cmdusuario
'se limpia la tabla para volver a llenar el grid
If
DataGridViewuser.Rows.Count > 0 Then
dsusuario.Tables("INV_usuario").Clear()
End If
dausuario.Fill(dsusuario, "INV_usuario")
DataGridViewuser.DataSource
= dsusuario.Tables("INV_Usuario")
End Sub
Esto ocurrira cada vez que
el texto cambie en el cuadro de texto.
El codigo anterior esta
sencillo y facil de entender por lo que considero que no requiere mucha
explicacion,si el grid tiene datos limpiamos la consulta con la instrucción dsusuario.Tables("INV_usuario").Clear(), donde dsusuario es un objeto
dataset.
Esto
misma lo podríamos ampliar para poder recuperar datos de empleados haciendo uso
del segundo nombre, primer apellido y segundo apellido.
|