Ver Mensaje Individual
  #4  
Antiguo 22-05-2019
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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 [-]
// Por defecto filtra la consulta por NO vencidas. "Vencidas" es False si se omite
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;

// Ejemplo del uso
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
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita