Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-08-2004
Shion Shion is offline
Miembro
 
Registrado: abr 2004
Posts: 23
Poder: 0
Shion Va por buen camino
Question pregunta sobre Filtros

Un saludo para todos.

Quisiera saber como puedo hacer para hacer filtros del tipo:

'*texto*'

* = comodin (que se usa para decir que no importa lo que haya ahi)
texto = a las letras que doy cuando quiero filtrar en un tabla.

he intentado de esa forma y no me filtra nada.

Pues si alguno de uds. pudiera de alguna forma ayudarme le estaria agradecido.

PD. funciona bien cuando le doy de esta forma 'texto*'
__________________
_______________________________________
En busca del conocimiento!
Responder Con Cita
  #2  
Antiguo 22-08-2004
Avatar de moesis
moesis moesis is offline
Miembro
 
Registrado: jun 2004
Ubicación: Islas Canarias
Posts: 46
Poder: 0
moesis Va por buen camino
Saludos,

En primer lugar deberías de decirnos que sistema de base de datos utilizas, pues dependiendo de cada uno de ellos es el formato.

En SQL (Interbase, MySQL, MS SQL Server, ...) sería algo así como
Código SQL [-]
SELECT * FROM tabla WHERE campo LIKE '%valor%';
En BDE basandote en SQL.
Código SQL [-]
SELECT * FROM tabla WHERE campo LIKE '*valor*';
En BDE basandote en los métodos de TTabla y TDataSet

Código Delphi [-]
Tabla.Filtered := false; Tabla.Filter := 'Campo like ' + QuotedStr ('*Campo*'); Tabla.Filtered := true;

Esperando haberte aclarado algo más....
__________________
ø¤º° Moesis °º¤ø
Dios nos ha dado dos orejas y una boca para escuchar el doble de lo que hablamos.
Consulta la Guía de Estilo.
Responder Con Cita
  #3  
Antiguo 23-08-2004
Shion Shion is offline
Miembro
 
Registrado: abr 2004
Posts: 23
Poder: 0
Shion Va por buen camino
gracias por responder.
___________________

Estoy usando una tabla paradox , con delphi 7

he probado con el uso de "like", pero al parecer "table.filter" no tiene soporte para esto pues buscando en la ayuda de delphi solo me sale esto:

Operator Meaning
< Less than
> Greater than
>= Greater than or equal to
<= Less than or equal to
= Equal to
<> Not equal to
AND Tests two statements are both True
NOT Tests that the following statement is not True
OR Tests that at least one of two statements is True
+ Adds numbers, concatenates strings, adds numbers to date/time values (only available for some drivers)
- Subtracts numbers, subtracts dates, or subtracts a number from a date (only available for some drivers)
* Multiplies two numbers (only available for some drivers)
/ Divides two numbers (only available for some drivers)
* wildcard for partial comparisons (FilterOptions must include foPartialCompare)


__________________
_______________________________________
En busca del conocimiento!
Responder Con Cita
  #4  
Antiguo 23-08-2004
Avatar de vic_ia
vic_ia vic_ia is offline
Miembro
 
Registrado: ene 2004
Posts: 238
Poder: 21
vic_ia Va por buen camino
hola...

se me ocurre que lo mejor para realizar un filtro como lo que tu tienes lo mejor es usar el evento OnFilter del DataSet que utilices,... de esta forma tu puedes dar las condiciones bajo las cuales deseas que el registro sea parte de los que devuelve el filtro o no...

saludos...
Responder Con Cita
  #5  
Antiguo 23-08-2004
Shion Shion is offline
Miembro
 
Registrado: abr 2004
Posts: 23
Poder: 0
Shion Va por buen camino
mediante el evento onfilter lo habia probado y funciona bien,

solo que lei por alguna parte que no es recomendable usar esto, por que este tipo de filtro se aplica en el cliente por lo cual deben bajarse por la red incluso los registros que no satisfagan el filtro.

no habra otra manera de hacer ese filtro?
__________________
_______________________________________
En busca del conocimiento!
Responder Con Cita
  #6  
Antiguo 23-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Shion
solo que lei por alguna parte que no es recomendable usar esto, por que este tipo de filtro se aplica en el cliente por lo cual deben bajarse por la red incluso los registros que no satisfagan el filtro.
Y lo mismo sucederá con la propiedad Filter. Precisamente por esto lo más recomendable es lo que moesis te comentó desde un principio: usa consultas SQL. Así el filtro se aplica en el servidor y sólo mandará los registros que satisfagan la condición.

// Saludos
Responder Con Cita
  #7  
Antiguo 23-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Prueba enlazar el TQuery al alias mediante una componente Database y a ésta ponle su propiedad LoginPrompt = false.

// Saludos
Responder Con Cita
  #8  
Antiguo 25-08-2004
Shion Shion is offline
Miembro
 
Registrado: abr 2004
Posts: 23
Poder: 0
Shion Va por buen camino
Gracias a todos, ya me funciono todo bien,
gracias por sus consejos.

Saludos
__________________
_______________________________________
En busca del conocimiento!

Última edición por Shion fecha: 26-08-2004 a las 00:35:51.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:57:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi