Ver Mensaje Individual
  #3  
Antiguo 05-02-2007
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Reputación: 20
amadis Va por buen camino
Bueno ahí lo até con alambres, usando Between.

Calculo que dia es segun el numero Ej hoy es Lunes 5 entonces la semana va desde lunes a domingo (lo uso igual al domingo)
Si fuera miercoles la semana siempre es de lunes a domingo entonces calculo que NUMERO fue el lunes y hago Between Lunes a domingo siempre.

Código Delphi [-]

// Datos (Tdatamodule);
// Consulta(TQuery);

 F,F1, F2 : string ;

begin

F := FormatDateTime('dddd',Date);

// inicio determinacion plazo de la semana

If F = 'Lunes' then
               Begin
                F1 := datetostr(Date);
                F2 := datetostr(Date+6);
               End;

If F = 'Martes' then
               Begin
                F1 := datetostr(Date-1);
                F2 := datetostr(Date+5);
               End;

If F = 'Miércoles' then
               Begin
                F1 := datetostr(Date-2);
                F2 := datetostr(Date+4);
               End;

If F = 'Jueves' then
               Begin
                F1 := datetostr(Date-3);
                F2 := datetostr(Date+3);
               End;


If F = 'Viernes' then
               Begin
                F1 := datetostr(Date-4);
                F2 := datetostr(Date+2);
               End;

If F = 'Sabado' then
               Begin
                F1 := datetostr(Date-5);
                F2 := datetostr(Date+1);
               End;

If F = 'Domingo' then
               Begin
                F1 := datetostr(Date-6);
                F2 := datetostr(Date);
               End;

// fin determinacion plazo de la semana

datos.consulta.Active := False;
datos.consulta.SQL.Clear;

Datos.consulta.Params.CreateParam(ftDate, 'F1', ptInput);
Datos.consulta.Params.CreateParam(ftDate, 'F2', ptInput);

datos.consulta.SQL.Append('select nombres,numero,fechapago,importe,paga');
datos.consulta.SQL.Append('from clientes inner join cuotas on clientes.codigo = cuotas.cod_cliente');
datos.consulta.SQL.Append('where fechapago Between Cast(:F1 as SQL_Date)  and Cast(:F2 as SQL_Date)');
datos.consulta.ParamByName('F1').AsDate := strtodate(F1);
datos.consulta.ParamByName('F2').AsDate := strtodate(F2);

Última edición por amadis fecha: 05-02-2007 a las 15:53:49.
Responder Con Cita