• Martes 19 de Noviembre de 2024, 05:36

Autor Tema:  Buscar En Datagrid (urgente)  (Leído 1892 veces)

movilesjj

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Buscar En Datagrid (urgente)
« en: Domingo 1 de Julio de 2007, 15:00 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Buscar En Datagrid (urgente)
« Respuesta #1 en: Domingo 1 de Julio de 2007, 16:44 »
0
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
  1.  
  2. Private Sub Lista_Pacientes_Cita()
  3.     'DataGrid1:
  4.     strSQL4 = "Select cedula As Cedula, nombre As Nombre, turno_num As Turno From turno_consulta "
  5.     strSQL4 = strSQL4 & "Where fecha='" & Format(Date, "yyyy-mm-dd") & "' "
  6.     strSQL4 = strSQL4 & "And estado<>1 Order By turno_num"
  7.     Set rsTurnoConsulta = New Recordset
  8.     rsTurnoConsulta.Open strSQL4, cnConexdb, adOpenStatic, adLockOptimistic
  9.     Set DataGrid1.DataSource = rsTurnoConsulta
  10.     DataGrid1.Columns(0).Width = 1000
  11.     DataGrid1.Columns(1).Width = 5100
  12.     DataGrid1.Columns(2).Width = 1000
  13. End Sub
  14.  
  15.  
Si esto es Leído por accidente, induzca al vomito

movilesjj

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Buscar En Datagrid (urgente)
« Respuesta #2 en: Lunes 2 de Julio de 2007, 01:16 »
0
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
  1.  
  2. Private Sub Lista_Pacientes_Cita()
  3.     'DataGrid1:
  4.     strSQL4 = "Select cedula As Cedula, nombre As Nombre, turno_num As Turno From turno_consulta "
  5.     strSQL4 = strSQL4 & "Where fecha='" & Format(Date, "yyyy-mm-dd") & "' "
  6.     strSQL4 = strSQL4 & "And estado<>1 Order By turno_num"
  7.     Set rsTurnoConsulta = New Recordset
  8.     rsTurnoConsulta.Open strSQL4, cnConexdb, adOpenStatic, adLockOptimistic
  9.     Set DataGrid1.DataSource = rsTurnoConsulta
  10.     DataGrid1.Columns(0).Width = 1000
  11.     DataGrid1.Columns(1).Width = 5100
  12.     DataGrid1.Columns(2).Width = 1000
  13. End Sub
  14.  
  15.  
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
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

UserCode

  • Miembro MUY activo
  • ***
  • Mensajes: 338
    • Ver Perfil
Re: Buscar En Datagrid (urgente)
« Respuesta #3 en: Lunes 2 de Julio de 2007, 02:54 »
0
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:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
Si esto es Leído por accidente, induzca al vomito