Programación General > Visual Basic 6.0 e inferiores

 Buscar En Datagrid (urgente)

(1/1)

movilesjj:
hola amigos me estoy graduando un necesito ayuda, estoy haciendo un sistema de informacion en visual basic 6 y lo unico que necesito es saber como hago para  hacer busqueda en un datagrid mediante un textbox, eso es todo.. la base de dato la hice en access 2000 y la conecte con un ado, gracias de antemano espero respuesta

UserCode:
hola

El DataGrid se trae registros por una SQL sea por variable recordset o por un control Data ADO, lo importante es la SQL que podrias usar algo como:
"Select * From Tabla Where campo='" & Text1.Text & "' Order by Campo"

Esa SQL podrias llamarla/ejecutarla al indicar el campo en el Text y pulsar Enter
En el vento keypress del Text seria algo como:
If KeyAscii=13 Then 'Tecla Enter
   'Aqui el codigo, procedimiento o funcion de la SQL
End if
Asi escribes en el Textbox el dato, se pulsa Enter y deberia del DataGrid actualizar su vista con la nueva SQL.


El DataGrid se actualizaria con la nueva SQL trayendose solo el registro indicado, o varios registros en caso de que el campo se cumpla en mas de un registro

Lo que si no recuerdo es si era LIKE %campo% o algo asi en la SQL para traerse todos los registros que empiecen por una letra o que en un campo string se busque todo lo que tenga X cadena

Por ejemplo, yo tengo una ventanita con un DataGrid que muestra un listado de Personas que esperan consulta medica, en la tabla de la Bd se conservan todos los registros, pero en el DataGrid solo se muestran los ingresos de la fecha actual


--- Código: Text --- Private Sub Lista_Pacientes_Cita()    'DataGrid1:    strSQL4 = "Select cedula As Cedula, nombre As Nombre, turno_num As Turno From turno_consulta "    strSQL4 = strSQL4 & "Where fecha='" & Format(Date, "yyyy-mm-dd") & "' "    strSQL4 = strSQL4 & "And estado<>1 Order By turno_num"    Set rsTurnoConsulta = New Recordset    rsTurnoConsulta.Open strSQL4, cnConexdb, adOpenStatic, adLockOptimistic    Set DataGrid1.DataSource = rsTurnoConsulta    DataGrid1.Columns(0).Width = 1000    DataGrid1.Columns(1).Width = 5100    DataGrid1.Columns(2).Width = 1000End Sub  

movilesjj:

--- Cita de: "UserCode" --- hola

El DataGrid se trae registros por una SQL sea por variable recordset o por un control Data ADO, lo importante es la SQL que podrias usar algo como:
"Select * From Tabla Where campo='" & Text1.Text & "' Order by Campo"

Esa SQL podrias llamarla/ejecutarla al indicar el campo en el Text y pulsar Enter
En el vento keypress del Text seria algo como:
If KeyAscii=13 Then 'Tecla Enter
   'Aqui el codigo, procedimiento o funcion de la SQL
End if
Asi escribes en el Textbox el dato, se pulsa Enter y deberia del DataGrid actualizar su vista con la nueva SQL.


El DataGrid se actualizaria con la nueva SQL trayendose solo el registro indicado, o varios registros en caso de que el campo se cumpla en mas de un registro

Lo que si no recuerdo es si era LIKE %campo% o algo asi en la SQL para traerse todos los registros que empiecen por una letra o que en un campo string se busque todo lo que tenga X cadena

Por ejemplo, yo tengo una ventanita con un DataGrid que muestra un listado de Personas que esperan consulta medica, en la tabla de la Bd se conservan todos los registros, pero en el DataGrid solo se muestran los ingresos de la fecha actual


--- Código: Text --- Private Sub Lista_Pacientes_Cita()    'DataGrid1:    strSQL4 = "Select cedula As Cedula, nombre As Nombre, turno_num As Turno From turno_consulta "    strSQL4 = strSQL4 & "Where fecha='" & Format(Date, "yyyy-mm-dd") & "' "    strSQL4 = strSQL4 & "And estado<>1 Order By turno_num"    Set rsTurnoConsulta = New Recordset    rsTurnoConsulta.Open strSQL4, cnConexdb, adOpenStatic, adLockOptimistic    Set DataGrid1.DataSource = rsTurnoConsulta    DataGrid1.Columns(0).Width = 1000    DataGrid1.Columns(1).Width = 5100    DataGrid1.Columns(2).Width = 1000End Sub  
--- Fin de la cita ---
Hola amigo, yo tengo la base de datos hecha en access2000 y la tengo relacionada por un Adodc1 como seria la programacion, me gustaria enviarte el archivo para lo vieras mejor, me permites tu correo?

de todas maneras aqui lo subi para que lo veas mejor

UserCode:
Hola

Bueno, yo preferi no hacer uso del control data Ado porque le indicaste una ruta fija, preferi usar una variable que hace lo mismo el control y App.Path para la ruta de la Bd Access para traer la ruta automaticamente siempre y cuando el programa y la Bd estén dentro de la misma carpeta del programa o carpeta raiz.

No sé que tan especifica es el tipo de busqueda que debas hacer, porque si en el Text de busqueda indicas la cedula de un estudiante eso te traeria un solo registro, y si deseas una consulta en el datagrid de varios registros de X fecha o codigo de materia, eso ya te traeria varios registros.

Ha! si se me olvidaba, no hay boton, esta para buscar por Alumno_Id, escribes alguno, y pulsando Enter se traeria lo buscado.
 :hola:

Navegación

[0] Índice de Mensajes

Ir a la versión completa