![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
Queria preguntar si, a parte, existe la posibilidad de filtrar la tabla de modo que muestre todos los registros que coinciden parcialmente con el string según el que se filtra. Lo diré de otro modo por si no me he explicado bien: el caso es que mi código, vendria a ser en parte asi:
Como veis la diferencia es que uso un Edit con el que dejo introducir al usuario el string según el que filtrar. Lo que pregunto es si es posible que introduciendo por ejemplo "CA" el filtro haga visibles todos aquellos campos que empiecen asi (por ejemplo: Carla, Carlos, Carmen, etc...) Lo cierto es que he estado buscando en la ayuda de delphi, y he encontrado en la información sobre el member FilterOptions, por defecto la opcion de buscar según sólo una parte del string esta activada para todos los strings que terminen en asterisco (*). Lo que hago entonces es introducir un asterisco así;
Pero tampoco consigo que se solucione de este modo, por eso queria preguntar si a alguien se le ocurre que puedo estar haciendo mal, si tal vez no es posible lo que intento, o si se hace de otro modo. Gracias por adelantado a todos quienes se tomen la molestia de contestarme. Saludos! Última edición por Rancy fecha: 23-06-2008 a las 11:35:59. Razón: Para ver mejor el quote de fenareth |
|
#2
|
||||
|
||||
|
rancy yo te recomiendo siempre utilizar consultas, ya que asi no te traes todos los registros del servidor y los "filtras" en el propio servidor. Pero si aun sigues empeñado en hacerlo mediante filtros je je je
primero me tendrás que decir con que BD trabajas si es con mysql, interbase.. etc el comodin es % de tal manera que, aparte de utilizar el like, quedaría asi:Código:
Adotable1.filtered:=false; Adotable1.filter:='Desc_Cliente'+' like ' + QuotedStr(Edit1.Text+'%'); Adotable1.filtered:=true; |
|
#3
|
|||
|
|||
|
Muchas gracias! Me funcionó perfectamente.
Bueno olvidé decir como guardo los datos es cierto. Esque necesito una aplicación lo mas simple posible, que pueda funcionar en pc's sin instalar nada; por eso, y porque la información es poca; lo guardo todo en XML. De nuevo te agradezco tu ayuda, que me fué muy útil! |
|
#4
|
|||
|
|||
|
Respecto al mismo tema, tengo una duda mas. Cual seria la expresion equivalente a QuotedStr, si lo que contiene la variable que hay a continuación es un entero?
Pongo aqui la parte del codigo, por si ayuda a entender mi duda: El error dice que los tipos string & integer son incompatibles ( refiriendose al campo Edad, que es un entero, y a la variable anyo, que también lo es. Como doy a entender que debe tratarlos como tales y no como string? Gracias por adelantado. :-) |
|
#5
|
||||
|
||||
|
El campo edad en tu bd será un entero pero tu estás componiendo un string en la propiedad filter de tu dataset, que es de tipo string. Con lo que todo lo que metas en esa propiedad debe ser un string, y lo único que lo diferencia son las comillas (quotes) cuando tu campo es varchar o sin comillas cuando es numérico. De tal forma que:
Código:
procedure TForm2.EditCampoBuscarChange(Sender: TObject); var anyo: integer; begin DadesClients.Open; DadesClients.Filter := ((ComboboxCampoBuscar.Text + ' like '+ QuotedStr(EditCampoBuscar.Text+'%')) +'and Edad <'+ inttostr(anyo)); DadesClients.Filtered := TRUE; end; |
|
#6
|
|||
|
|||
|
Vaya, muchisimas gracias Tony. Respondes las preguntas mas rápido de lo que soy capaz de hacerlas!!!
![]() Voy a porbar tu solución ahora mismo! EDIT: En efecto, funciona. ![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| filtrar elementos de base de datos en delphi mediante combobox | carlossc90 | Tablas planas | 3 | 05-06-2008 22:21:10 |
| Filtrar ADOTable al seleccionar combobox | jeysi | Varios | 3 | 24-01-2008 09:48:36 |
| Filtrar por un campo de un dbgrid | Ivan_25 | C++ Builder | 11 | 03-11-2005 11:29:44 |
| filtrar por fechas y por un campo mas | mainau | Conexión con bases de datos | 9 | 01-04-2004 16:23:16 |
| Filtrar datos con los Combobox o DBComboBox | thecarlos | Varios | 3 | 09-01-2004 09:55:15 |
|