Ver Mensaje Individual
  #5  
Antiguo 01-02-2012
pape19 pape19 is offline
Miembro
 
Registrado: jul 2010
Posts: 96
Reputación: 14
pape19 Va por buen camino
Código Delphi [-]
Procedure TConsultas.EjecucionPorFecha(); 
Var
VarFecha1, VarFecha2:string;
Begin
If DateTimePicker2.Date > DateTimePicker1.Date then
    Begin
        VarFecha1:=FormatDateTime('mm/dd/yy', DateTimePicker1.Date);
        VarFecha2:=FormatDateTime('mm/dd/yy', DateTimePicker2.Date);
        IBQuery1.SQL.Add('AND D.FECHA >= ' + '''' + VarFecha1 + '''' );
        IBQuery1.SQL.Add('AND D.FECHA <= ' + '''' + VarFecha2 + '''' );
    End
  else
    Begin
        showmessage('La segunda fecha del rango es menor a la primera');
        DatetimePicker2.SetFocus;
    end;

Procedure TConsultas.Excedidos(); //solo los registros que se hayan excedido en el tiempo permitido
Begin
    IBQuery1.SQL.Add('AND LEFT(D.EXCEDENTE, 1) =' + '''' + '+' +'''');
End;

procedure TConsultas.Button1Click(Sender: TObject);
begin
If (CheckBox1.Checked=False) and (CheckBox2.Checked=True) and (CheckBox3.Checked = True) then
                               Begin
                                    TotalRegistros();
                                    EjecucionPorFecha();
                                    Excedidos();
                                    Ordenar();
                                    IBQuery1.Open;
                              End;
End;

Aca tengo una parte del código, como se ve, hay 3 procedimientos. El primero es el que aporta a la query la parte del rango de fechas. Ahi es donde debe cortar la ejecución, hasta que la fecha2 sea mayor a la fecha1, ya que sino, como se ve en el procedimiento 3, sigue ejecutando(Excedidos(), Ordenar()), y devuelve un resultado, que es erróneo, ya que lo de las fechas no se corroboró.
Responder Con Cita