FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Filtrar en DBGrid para Access
Hola, tengo una Base de Datos en Access llamada Base de datos.mdb conectada a mi aplicación mediante un Adotable (Adotable1) y un DataSource (DataSource1) con una tabla llamada Choferes, la cual se muestra mediante un DBGrid (DBGrid1) mi pregunta es la siguiente:
Quisiera realizar un Filtrado por la columna "Nombre" de manera tal que al escribir en un Edit cualquier letra ej "ier" me muestre todos los campos que contengan dichas letras ejemplo: Javier, Reinier, Iercos, etc... y que al borrar las letras del Edit, se vuelvan a mostrar todos los Campos de la Tabla. Muchas gracias de antemano y feliz año nuevo para todos.
__________________
Agradezco que ustedes me acompañen. |
#2
|
||||
|
||||
Revisa este ejemplo y el código que hay en mi página a ver si es lo que buscas.
Si revisas el FTP, sección de ejemplos, es posible que también encuentres alguno más.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
No entendí nada
Disculpa ignorancia, pero no entendí nada, yo he buscado entre otras dudas ya planteadas y todo el mundo pregunta sobre el filtrado con ADOQuery y esas cosas, yo estoy utilizando ADOTABLE y DATASOURCE en un DBGRID conectado a una tabla de Access, pero sobre eso no he visto nada. Gracias de todos modos, seguiré intentándolo. Feliz fin de año.
__________________
Agradezco que ustedes me acompañen. |
#4
|
||||
|
||||
Perdona, yo mismo me hice un lío leyendo "rápido"; Si estás utilizando ADOTable, busca en la ayuda sobre Filtered y Filter del TADOTable.
De todas formas tengo dudas de si con estas propiedades vas a poder conseguir el filtro que necesitas (que contengan....) De todas formas, para un filtro de tipo LIKE, como el que necesitas, creo que lo más sencillo es que conviertas el ADOTable en un ADOQuery y utilices el código que te he pasado
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
||||
|
||||
Ya me funciona, pero tengo un problema...
El Filtrado me funciona bien con el siguiente código:
procedure TForm1.Edit1Change(Sender: TObject); begin If (Edit1.text <> '') then Adotable1.Filter := 'Nombre Like '''+ Edit1.Text + '*'''; end; Pero tengo un problema, al borrar el texto escrito en el Edit1, en lugar de regresar todos los campos, se queda tal y cómo está el filtrado, lo que necesito es que si busco "ier" salgan todos los nombres que contengan esas letras, pero al borrar "ier" del edit, que vuelvan a aparecer todos.
__________________
Agradezco que ustedes me acompañen. |
#6
|
||||
|
||||
Hola Javier.
Por favor cuando pongas código en tus mensajes utiliza TAG's, la imágen siguiente explica su uso: Ahora en referencia a tu pregunta, probá de este modo:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
||||
|
||||
Me da el siguiente error
Probé con ese código, pero me dá el siguiente error: Proyect DatosChoferes.exe raised exception class EOleException with message "No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido". Process stopped. use Step or Run to continue.
__________________
Agradezco que ustedes me acompañen. |
#8
|
||||
|
||||
Hola Javier.
El código anterior lo escribí en el aire, pero acabo de probarlo y filtra sin error. Por el tipo de error que te arroja diría que revises que el campo Nombre exista o esté bién escrito. Este es el código exácto de la prueba que hice ahora y funciona correctamente:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 28-12-2011 a las 20:00:55. Razón: corrección ortográfica |
#9
|
||||
|
||||
Si, funciona...
Es cierto que funciona, disculpa fué un error mío a la hora de escribir. Pero De esta manera el filtrado sólo se puede hacer por los nombres tal y como comienzan.
Javier Roberto Carlos Reinier si yo escribo en el edit "javier" no sale nada, porque debe de iniciar con mayúscula. si yo escribo "ier" no filtra nada, cuando debería filtrar Javier y Reinier. De cualquier forma te agradezco tu ayuda.
__________________
Agradezco que ustedes me acompañen. |
#10
|
||||
|
||||
Hola
El problema que veo es que el filtro va buscando letra a letra, osea de principio a fin de la palabra buscada. Si filtras Javier, buscara la J primero, la a segundo y asi sucesivamente. Para que filtre sin selección se tendría que usar la funcion AnsiContainsStr que ademas distingue entre mayúsculas y minúsculas. No se me ocurre como filtrar la tabla asi, tal vez practicando esta funcion encontraras una solucion. Este es un ejemplo de uso:
Aqui compara el contenido del edit1 y del 2. Seguro que algun maestro te dira como usar esto en el filtro. Saludos
__________________
Siempre Novato |
#11
|
||||
|
||||
¿Como puedo contactar a un maestro? ¿O espero a que ellos escriban?
Bueno, si alguien conoce como utilizar esa función, se los agradeceré. Feliz fin de año.
__________________
Agradezco que ustedes me acompañen. |
#12
|
||||
|
||||
yo hago esto, espero que te sirva
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
filtrar dbgrid con dbnavigator | william2009 | Varios | 3 | 19-03-2008 10:59:34 |
Filtrar tabla para dbgrid | nachito_tuc | Conexión con bases de datos | 5 | 07-09-2006 19:55:18 |
Filtrar un DBGrid | jdangosto | OOP | 4 | 22-02-2005 20:15:08 |
filtrar en un dbgrid | click | Varios | 2 | 06-07-2004 19:28:23 |
Filtrar registros de Access 2000 con SQL | camelumi | SQL | 1 | 02-04-2004 19:16:37 |
|