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(); 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ó.