SQL erro na consulta
Ola estou com problema com essa consulta, vou portar ela completa para melhor entendimento, mas o meu problema e nesse final;
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and RESPONDER ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''or FIMPAZO ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''or PRAZOCPC ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
veja preciso busca a mesma data em 03 colunas diferrentes, o comando OR deveria fucionare ate funciona so que da foam como esta ele não filtra pelo "and Tipo = ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Ord.Servico", e tras os dados idepente do Tipo.
Dai não funciona, pos trás todos os campos dataa mas e como se despresasse o codigo escrito acima na função
alguma ideia de como resolver?
//***************
procedure TForm1.MonthCalendar1Click(Sender: TObject);
var
VDestinatario : String;
DataInicial:String;
dataFinal:String;
Begin
ProcMov.Filtered := false;
VDestinatario := FuncionarioCODIGO.AsString;
DataInicial := FormatDateTime(''''''''''''''''''''''''''''''''DD/MM/YYYY'''''''''''''''''''''''''''''''', MonthCalendar1.Date);
dataFinal := FormatDateTime(''''''''''''''''''''''''''''''''DD/MM/YYYY'''''''''''''''''''''''''''''''', MonthCalendar1.Date);
DataInicial :=FormatDateTime(''''''''''''''''''''''''''''''''mm/dd/yyyy'''''''''''''''''''''''''''''''',StrToDate(DataInicial));
dataFinal :=FormatDateTime(''''''''''''''''''''''''''''''''mm/dd/yyyy'''''''''''''''''''''''''''''''',StrToDate(dataFinal));
ProcMov.Active := false;
ProcMov.Close;
if ProcMov.State<>dsinactive then ProcMov.Close;
ProcMov.SQL.Clear;
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''Select * from ADVPROCMOV'''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''Where DESTINATARIO<> ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''0'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and Sit = ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''P'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
If PageControl1.ActivePageIndex = 1 then begin
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and Tipo = ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Ord.Servico'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
end;
If PageControl1.ActivePageIndex = 2 then begin
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and Tipo = ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Audiencia'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
end;
If PageControl1.ActivePageIndex = 3 then begin
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and Tipo = ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Pecas'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
end;
// If PageControl1.ActivePageIndex = 4 then begin
// end;
if CheckBox2.Checked = false
then begin
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and Destinatario ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+VDestinatario+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
end;
if RadioGroup1.ItemIndex = 0
then begin;
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and RESPONDER >='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and RESPONDER <='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataFinal+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''order by RESPONDER, HORA Asc'''''''''''''''''''''''''''''''');
end;
if RadioGroup1.ItemIndex = 1
then begin;
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and FIMPAZO >='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and FIMPAZO <='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataFinal+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''order by FIMPAZO, HORA Asc'''''''''''''''''''''''''''''''');
end;
if RadioGroup1.ItemIndex = 2
then begin;
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and PRAZOCPC >='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and PRAZOCPC <='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataFinal+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''order by PRAZOCPC, HORA Asc'''''''''''''''''''''''''''''''');
end;
if RadioGroup1.ItemIndex = 3
then begin;
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and RESPONDER ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''or FIMPAZO ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''or PRAZOCPC ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''order by PRAZOCPC, HORA Asc'''''''''''''''''''''''''''''''');
end;
ProcMov.Active := false;
ProcMov.Close;
ProcMov.Open;
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and RESPONDER ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''or FIMPAZO ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''or PRAZOCPC ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
veja preciso busca a mesma data em 03 colunas diferrentes, o comando OR deveria fucionare ate funciona so que da foam como esta ele não filtra pelo "and Tipo = ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Ord.Servico", e tras os dados idepente do Tipo.
Dai não funciona, pos trás todos os campos dataa mas e como se despresasse o codigo escrito acima na função
alguma ideia de como resolver?
//***************
procedure TForm1.MonthCalendar1Click(Sender: TObject);
var
VDestinatario : String;
DataInicial:String;
dataFinal:String;
Begin
ProcMov.Filtered := false;
VDestinatario := FuncionarioCODIGO.AsString;
DataInicial := FormatDateTime(''''''''''''''''''''''''''''''''DD/MM/YYYY'''''''''''''''''''''''''''''''', MonthCalendar1.Date);
dataFinal := FormatDateTime(''''''''''''''''''''''''''''''''DD/MM/YYYY'''''''''''''''''''''''''''''''', MonthCalendar1.Date);
DataInicial :=FormatDateTime(''''''''''''''''''''''''''''''''mm/dd/yyyy'''''''''''''''''''''''''''''''',StrToDate(DataInicial));
dataFinal :=FormatDateTime(''''''''''''''''''''''''''''''''mm/dd/yyyy'''''''''''''''''''''''''''''''',StrToDate(dataFinal));
ProcMov.Active := false;
ProcMov.Close;
if ProcMov.State<>dsinactive then ProcMov.Close;
ProcMov.SQL.Clear;
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''Select * from ADVPROCMOV'''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''Where DESTINATARIO<> ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''0'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and Sit = ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''P'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
If PageControl1.ActivePageIndex = 1 then begin
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and Tipo = ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Ord.Servico'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
end;
If PageControl1.ActivePageIndex = 2 then begin
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and Tipo = ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Audiencia'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
end;
If PageControl1.ActivePageIndex = 3 then begin
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and Tipo = ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Pecas'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
end;
// If PageControl1.ActivePageIndex = 4 then begin
// end;
if CheckBox2.Checked = false
then begin
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and Destinatario ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+VDestinatario+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
end;
if RadioGroup1.ItemIndex = 0
then begin;
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and RESPONDER >='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and RESPONDER <='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataFinal+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''order by RESPONDER, HORA Asc'''''''''''''''''''''''''''''''');
end;
if RadioGroup1.ItemIndex = 1
then begin;
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and FIMPAZO >='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and FIMPAZO <='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataFinal+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''order by FIMPAZO, HORA Asc'''''''''''''''''''''''''''''''');
end;
if RadioGroup1.ItemIndex = 2
then begin;
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and PRAZOCPC >='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and PRAZOCPC <='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataFinal+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''order by PRAZOCPC, HORA Asc'''''''''''''''''''''''''''''''');
end;
if RadioGroup1.ItemIndex = 3
then begin;
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''and RESPONDER ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''or FIMPAZO ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''or PRAZOCPC ='''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+DataInicial+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
ProcMov.SQL.Add(''''''''''''''''''''''''''''''''order by PRAZOCPC, HORA Asc'''''''''''''''''''''''''''''''');
end;
ProcMov.Active := false;
ProcMov.Close;
ProcMov.Open;
Sidnei Lopes
Curtidas 0
Melhor post
Emerson Nascimento
24/02/2022
tente isto. comentários no próprio código.
//*************** procedure TForm1.MonthCalendar1Click(Sender: TObject); const arrayTipos: array[1..3] of string = ('Ord.Servico', 'Audiencia', 'Pecas'); var VDestinatario:String; DataInicial:String; DataFinal:String; Begin VDestinatario := FuncionarioCODIGO.AsString; DataInicial := FormatDateTime('mm/dd/yyyy', MonthCalendar1.Date); DataFinal := FormatDateTime('mm/dd/yyyy', MonthCalendar1.Date); // DATAS SÃO IGUAIS MESMO??? O CONTEÚDO PARTE DO MESMO COMPONENTE... <<<< ProcMov.Filtered := false; ProcMov.Close; ProcMov.SQL.Clear; ProcMov.SQL.Add('Select * from ADVPROCMOV'); ProcMov.SQL.Add('Where DESTINATARIO <> '0'); ProcMov.SQL.Add('and Sit = 'P'); If (PageControl1.ActivePageIndex > 0) and (PageControl1.ActivePageIndex < 4) then ProcMov.SQL.Add('and Tipo = ' + QuotedStr(arrayTipos[PageControl1.ActivePageIndex])); if not CheckBox2.Checked then ProcMov.SQL.Add('and Destinatario = ' + QuotedStr(VDestinatario)); case RadioGroup1.ItemIndex of 0: begin ProcMov.SQL.Add('and RESPONDER BETWEEN ' + QuotedStr(DataInicial) + ' AND ' + QuotedStr(DataFinal)); ProcMov.SQL.Add('order by RESPONDER, HORA Asc'); end; 1: begin ProcMov.SQL.Add('and FIMPAZO BETWEEN ' + QuotedStr(DataInicial) + ' AND ' + QuotedStr(DataFinal) ); ProcMov.SQL.Add('order by FIMPAZO, HORA Asc'); end; 2: begin ProcMov.SQL.Add('and PRAZOCPC BETWEEN ' + QuotedStr(DataInicial) + ' AND ' + QuotedStr(DataFinal)); ProcMov.SQL.Add('order by PRAZOCPC, HORA Asc'); end; :3 begin // aqui as condições OR precisavam ficar entre parêntesis ProcMov.SQL.Add('and ( RESPONDER = ' + QuotedStr(DataInicial)); // adicionado um perêntesis aqui, no início <<<< ProcMov.SQL.Add('or FIMPAZO = ' + QuotedStr(DataInicial)); ProcMov.SQL.Add('or PRAZOCPC = ' + QuotedStr(DataInicial) + ')' ); // adicionado um perêntesis aqui, no final <<<< ProcMov.SQL.Add('order by PRAZOCPC, HORA Asc'); end; end; ProcMov.Open; end;
GOSTEI 1
Mais Respostas
Paulo
22/02/2022
Nem li seus códigos mas, ao invés de usar um monte de aspas use QuotedStr() e ao invés de usar <= >= nas datas use between. O codigo vai ficar bem mais limpo e talvez resolva seu problema.
GOSTEI 0