FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Filtro con paréntesis
He estado tratando de filtrar los datos de una adoquery. Tengo que contar la cantidad de trabajadores a los que se les dió de alta antes de un día especifico y todavía no se les ha dado de baja o se le dio de baja un día posterior al día indicado. Y esto tengo que repetirlo para todos los días de un mes.
Tengo una variable fecha:string; donde está, en cada paso del ciclo, la fecha por la que tengo que filtrar, llevada a string. El filtro sería más o menos: adoquery1.filter:='fechaA < ' + fecha + ' and ( fechaB = Null or fechaB > ' + fecha + ' )'; Pero no funciona. Si lo pongo en el where sí funciona pero se demora un siglo porque tengo que cerrar y abrir la tabla cada vez. Lo curioso es que el paréntesis en cualquier otra posición sí funciona, y sin paréntesis también. Concretamente, si lo que está dentro del paréntesis es un 'and' sí funciona, pero si es un 'or' no. Debe haber algo que no sé y que explique este misterio y de paso me de una pista de cómo resolver el problema. |
#2
|
|||
|
|||
Bueno, para empezar, la fecha tiene que ir entrecomillada
QuotedStr(Fecha) y luego, el formato de la fecha ha de ser el correcto dd/mm/yyyy aunque seguramente será mm/dd/yyyy Espero te sirva |
#3
|
|||
|
|||
No cadetill, creo que no me sirve. Es que sin paréntesis funciona, por eso pienso que no es cuesíón de comillas ni del formato de la fecha.
De todos modos voy a probar. |
#4
|
|||
|
|||
Hola
Desconozco si en objetos ADO existe pero has probado a en vez de cargar la propiedad Filter hacerlo en el evento OnFilterRecord pasandole como parámetros en variables globales las Fechas que quieres consultar. Saludos
__________________
[Aprendiz]: Por que siempre hay algo nuevo que aprender. |
|
|
|