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:) |
Aquí una forma:
Si no recuerdo mal, Access usa el asterisco de comodin, si da fallos, usa el carácter '%' de comodin. Saludos |
Cita:
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 |
Muchisimas gracias las dos ideas funcionaron y si al parecer era la sintaxis el problema ;)
|
La franja horaria es GMT +2. Ahora son las 11:03:38. |
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