Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-06-2007
Avatar de don malo
don malo don malo is offline
Registrado
 
Registrado: ene 2007
Ubicación: México
Posts: 9
Poder: 0
don malo Va por buen camino
Unhappy Consulta para Filtrar Dos Campos

Hola, gracias de antemano a los que me ayuden..

La cuestion es esta:

Tengo una consulta donde quiero filtrar dos campos, la informacion de estos dos campos la selecciona el usuario o la captura y en ese momento es cuando deseo hacer un filtro para que la informacion aparezca en un dbgrid, supongo que debe ser algo sencillo pero no encuentro la manera ya intente con estas dos por separado:

Query.Filter:=('Campo1 = ' + QuotedStr (Valor1);
Query.Filter:=('Campo2 = ' + QuotedStr (Valor2);

Query.SQL.Text:=('Select * From Tabla Where Campo1 Like "+Valor1+" And Campo2 Like "+Valor2+"

la idea es mas o menos asi (no estoy en delphi en este momento y no recuerdo bien), segun yo, y Delphi lo corre (utilizo Delphi 6) pero
el problema es al momento de darle Query1.Open en el caso de Query.Sql.Text.etc...

En el caso de utilizar Filter no manda ningun error pero no me filtra mas que por uno de los dos campos....

la verdad si estoy un poco desesperado, probablemente mi problema es de sintaxis y pues lo que necesito saber basicamente es como filtrar mas de un campo a la vez..

muchisimas gracias por su atencion y espero sus sugerencias .Por cierto la base de datos es ACCESS jeje

Última edición por don malo fecha: 01-06-2007 a las 11:17:49.
Responder Con Cita
  #2  
Antiguo 01-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Aquí una forma:
Código Delphi [-]
query1.Close;
Query.SQL.Text:='Select * From Tabla Where Campo1 Like '+ QuotedStr(Valor1+'*') + ' And Campo2 Like ' + QuotedStr(Valor2+'*');
Query1.Open;

Si no recuerdo mal, Access usa el asterisco de comodin, si da fallos, usa el carácter '%' de comodin.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 02-06-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Cita:
Query.Filter:=('Campo1 = ' + QuotedStr (Valor1);
Query.Filter:=('Campo2 = ' + QuotedStr (Valor2);
...
En el caso de utilizar Filter no manda ningun error pero no me filtra mas que por uno de los dos campos....
Para que te filtre por los dos campos deberás ponerlos juntos
Query.Filter:='Campo1 = ' + QuotedStr (Valor1)+ ' AND '+'Campo2 = ' + QuotedStr (Valor2);

Logicamente, te convendría poner unas condiciones para evitar valores nulos de Valor1 y Valor2 para filtrar por ninguno, el que tenga valor o los dos.

Despues debes aplicar el filtro.
Query.Filtered:= True; ( creo que es así la sintaxis )

Suerte y saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #4  
Antiguo 05-06-2007
Avatar de don malo
don malo don malo is offline
Registrado
 
Registrado: ene 2007
Ubicación: México
Posts: 9
Poder: 0
don malo Va por buen camino
Thumbs up

Muchisimas gracias las dos ideas funcionaron y si al parecer era la sintaxis el problema
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Filtrar tabla por dos campos Sayuri Conexión con bases de datos 12 10-10-2010 17:02:03
Filtrar campos DateTime MARYLOSO Impresión 5 02-02-2007 20:23:18
Consulta SQL para cambiar el orden natural de los campos de una tabla txemag Firebird e Interbase 4 23-07-2004 19:15:08
como filtrar campos busqueda walace_soy Conexión con bases de datos 1 27-02-2004 19:44:14
filtrar campos lookup allende Conexión con bases de datos 2 08-12-2003 19:17:34


La franja horaria es GMT +2. Ahora son las 12:09:08.


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