Ver Mensaje Individual
  #6  
Antiguo 25-05-2004
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Reputación: 22
fjcg02 Va camino a la fama
Yo dispararía con posta...

Quiero decir, que puedes 'traducir' la query a valores entre fechas, y pasar de meses y años.

Código:
//Año=2000 -> 
SQL.Add('Select * from tabla');
SQL.Add('where fecha_factura >= '+ quotedstr(01/01/2000)+' and fecha_factura<= ' +Quotedstr(31/12/2000);

//Año = 2000 y Mes=02
SQL.Add('Select * from tabla');
SQL.Add('where fecha_factura >= '+ quotedstr(01/02/2000)+' and fecha_factura<= ' +Quotedstr(29/02/2000)
Ten en cuenta que tendrás que 'manipular' mínimamente la generación de fechas para ajustarlo, pero esto funciona perfectamente.

Otra solución es pasar de años meses y pirulas , y que se introduzcan los límites en formato fecha. Desde fecha hasta fecha. Que quieres un año entero, desde el 1 de Enero al 31 de Diciembre. Que quieres un mes, desde el 1 del mes al último día del mes. Que el usuario haga algo demonios, que no se limite a quejarse únicamente.

Por cierto, si cada vez generas el código de la query ¿ para qué utilizas parámetros ? Lo lógico es que dejes la query parametrizada y sólo cambies el valor de los susodichos interfectos, es decir, los parámetros.

Espero no haberte liado mucho y que te sirva de ayuda

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita