[firebase-br] Algum problema com esse Select?

Fabiano fabiano_programador em yahoo.com.br
Qua Ago 23 16:08:18 -03 2006


Prezados,
  
To desenvolvendo uma aplicação com Delphi7+DBExpress+Firebird.
Criei um relatório com o Rave, na propriedade ComandText do ClientDataSet coloquei o seguinte:
SELECT * FROM CLIENTE C, VISITA V
WHERE (C.CLI_CODIGO = V.CLI_CODIGO)

E no botão da minha tela de pesquisa para gerar o relatório está assim:

procedure TFrmRelVisitas.BitBtn1Click(Sender: TObject);
var
vDataIni,
vDataFim : string;
begin
vDataIni := Quotedstr(FormatDateTime('dd.mm.yyyy', DateTimePicker1.Date));
vDataFim := Quotedstr(FormatDateTime('dd.mm.yyyy', DateTimePicker2.Date));

DmRelatorio.cdsRelatorio.Close;

Case CBCampoPesquisa.ItemIndex of
0: Begin
DmRelatorio.cdsRelatorio.CommandText :=
'select *' +
'from cliente c, visita v where c.cli_identidade = ' +Quotedstr(EdIdentidade.Text) +
' and v.vis_data between '+ vDataIni + ' and ' + vDataFim +
' and c.cli_codigo = v.cli_codigo order by v.vis_data';
DmRelatorio.cdsRelatorio.Open;
End;
1: Begin
DmRelatorio.cdsRelatorio.CommandText :=
'select *' +
'from cliente c, visita v where c.cli_nome Like ' +Quotedstr('%'+EdIdentidade.Text+'%') +
' and v.vis_data between '+ vDataIni + ' and ' + vDataFim +
' and c.cli_codigo = v.cli_codigo order by v.vis_data';
DmRelatorio.cdsRelatorio.Open;
End;
End;
   
  If not DmRelatorio.cdsRelatorio.IsEmpty Then
Begin
DmPrincipal.RvCtrlVisita.Open;
DmPrincipal.RvCtrlVisita.Execute;
DmPrincipal.RvCtrlVisita.Close;
End
Else
Application.MessageBox('Nenhum registro encontrado!', 'Atenção!', MB_OK +MB_ICONINFORMATION);
end;

  Mas na hora em que o relatório é gerado, está ocorrendo algo estranho. Ex.: Se eu pesquisar por identidade e informar uma identidade inexistente, e informar uma data que não esteja entre a inicial e a final ,o codigo funciona corretamente e é passada a mensagem de que Nenhum registro foi localizado. Agora se eu informar uma identidade e colacar a data correta entre a inicial e a final, o relatório é gerado com todos os registros do banco(não obedecendo o que foi informado na consulta). O curioso é que tenho o mesmo código na parte de Pesquisa e lá está funcionando perfeitamente. 
  Alguem já passou por isso?

 		
---------------------------------
 Você quer respostas para suas perguntas? Ou você sabe muito e quer compartilhar seu conhecimento? Experimente o Yahoo! Respostas!


Mais detalhes sobre a lista de discussão lista