Hola.
Como te indican usar parámetros, mas alla de la seguridad, simplifica la situación. Podrías hacerte una función que indique si deseas o no traer las factura vencidas, por ejemplo:
Código Delphi
[-]
procedure MakeQuery(Qy: TADOQuery; FechVenc: string; const Vencidas: Boolean = False);
begin
Qy.Close;
Qy.SQL.Clear;
Qy.SQL.Add('SELECT ADM.CIDDOCUMENTODE, ADM.CSERIEDOCUMENTO,');
Qy.SQL.Add('ADM.CFOLIO, ADM.CFECHA, ADM.CRAZONSOCIAL, ADM.CFECHAVENCIMIENTO,');
Qy.SQL.Add('ADM.CIDMONEDA, ADM.CCANCELADO, ADM.CTOTAL, ADM.CPENDIENTE,');
Qy.SQL.Add('ADM.CIDCONCEPTODOCUMENTO, ADM.CIDDOCUMENTOORIGEN, ADM.CIDDOCUMENTO');
Qy.SQL.Add('FROM ADMDOCUMENTOS ADM');
Qy.SQL.Add('WHERE (ADM.CIDCONCEPTODOCUMENTO = 21) AND (CCANCELADO = 0)');
Qy.SQL.Add('AND (CPENDIENTE <> 0) AND (ADM.CIDMONEDA = 1)');
if Vencidas then
Qy.SQL.Add('AND (CFECHAVENCIMIENTO < :FVENC)')
else
Qy.SQL.Add('AND (CFECHAVENCIMIENTO >= :FVENC)');
Qy.Parameters.ParamByName('FVENC').Value := FechVenc;
Qy.Open;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
MakeQuery(ADOQuery1, DateToStr(DateTimePicker1.Date), CheckBox1.Checked);
end;
Aunque no especificaste que gestor de base de datos y componentes usas, fijándome en tus mensajes anteriores y ví que usaste ADO alguna vez.
Saludos