Precisa passar os parametros para a query.
Veja abaixo :

  procedure TForm21.BitBtn2Click(Sender: TObject);
  VAR
       INICIO, FINAL: TDate;
  begin
       {}
         INICIO:=strtodate(MaskEdit1.Text);
       FINAL:=strtodate(MaskEdit2.Text);
         {}
       QUERY1.CLOSE;
       QUERY1.SQL.CLEAR;
       QUERY1.SQL.ADD(' SELECT * ');
       QUERY1.SQL.ADD(' FROM Contratos_dados ');
       QUERY1.SQL.ADD(' WHERE data_final between :INICIO and :FINAL');  <==
Aqui faltou os dois pontos antes de FINAL
       QUERY1.SQL.ADD(' ORDER BY CONTRATO ');
       QUERY1.Params[0].AsDateTime := INICIO;  <==== Passar aqui
       QUERY1.Params[1].AsDateTime := FINAL;   <==== Passar aqui
       QUERY1.OPEN;
  end;

[]'s Augustus
-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Almir Paulo Effgen
Enviada em: terça-feira, 23 de maio de 2006 13:57
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br]Moacir ---->Onde está o erro?


Moacir, eu tentei de tudo e não deu certo, então converti minha tabela os
campos Data_Inicial e Data_final para DATE, deu um trabalhão, mas continua
dando erro, não estou entendendo.
  
  Olha só:
  procedure TForm21.BitBtn2Click(Sender: TObject);
  VAR
       INICIO, FINAL: TDate;
  begin
       {}
         INICIO:=strtodate(MaskEdit1.Text);
       FINAL:=strtodate(MaskEdit2.Text);
         {}
       QUERY1.CLOSE;
       QUERY1.SQL.CLEAR;
       QUERY1.SQL.ADD(' SELECT * ');
       QUERY1.SQL.ADD(' FROM Contratos_dados ');
       QUERY1.SQL.ADD(' WHERE data_final between :INICIO and FINAL');
       QUERY1.SQL.ADD(' ORDER BY CONTRATO ');
       QUERY1.OPEN;
  end;

  Onde está o erro?
  Att,
  Almir
 

"Moacir (gmail)" <[EMAIL PROTECTED]> escreveu:
  Almir,

Use parametros para isto..

procedure TForm21.BitBtn2Click(Sender: TObject);
  VAR
       INICIO, FINAL: TDate;
  begin
       Table1.Open; //--  ????????????????????
       INICIO:=strtodate(MaskEdit1.Text);
       FINAL:=strtodate(MaskEdit2.Text);
       QUERY1.CLOSE;
       QUERY1.SQL.CLEAR;
       QUERY1.SQL.ADD(' SELECT * ');
       QUERY1.SQL.ADD(' FROM Contratos_dados ');
       QUERY1.SQL.ADD(' WHERE data_final between :DTINI and DTFIM');
       QUERY1.SQL.ADD(' ORDER BY CONTRATO ');
       QUERY1.ParamByname('DTINI').AsDateTime := INICIO;
       QUERY1.ParamByname('DTFIM').AsDateTime := FINAL;
       QUERY1.OPEN;
  end;



[ ]´s
Moacir

Almir Paulo Effgen escreveu:
> Meu camarada, eu fiz o que você falou, mas apresentou o seguinte erro:
>   Incompatible Types: 'String' and 'TDate'
>   
>   Att,
>   Almir
>
> Welson Avelar <[EMAIL PROTECTED]> escreveu:
>   [-----x-----]
> effgen9 escreveu:
>
> Olá, pessoal.
> Tenho uma tabela em paradox e uso D7.
> Nesta tabela Contratos_Dados tenho um campo data que é Data_final,A,
> 10.
> Estou começando a trabalhar com SQL. Passo dois parâmetros
> Data_Inicial e data_final e gostaria de saber os contratos que estão
> entre estas datas. Já fiz a pesquisa usando as datas como Alfa e me
> retornou um resultado maluco.
> Como converto a data que está na tabela como string para data?
> [-----x-----]
>
> [Welson] Tente assim:
>
> procedure TForm21.BitBtn2Click(Sender: TObject);
> VAR
>      INICIO, FINAL: TDate;
> begin
>      Table1.Open;
>      {}
>      INICIO:=strtodate(MaskEdit1.Text);
>      FINAL:=strtodate(MaskEdit2.Text);
>      {}
>      QUERY1.CLOSE;
>      QUERY1.SQL.CLEAR;
>      QUERY1.SQL.ADD(' SELECT * ');
>      QUERY1.SQL.ADD(' FROM Contratos_dados ');
>      QUERY1.SQL.ADD(' WHERE data_final between ' + QuotedStr(INICIO) + '
AND ' + QuotedStr(FINAL));
>      QUERY1.SQL.ADD(' ORDER BY CONTRATO ');
>      QUERY1.OPEN;
>      {}
> end;
>
> []s.
>
>
> =================================
> "O que me preocupa não é o grito dos maus. É o silêncio dos bons."
> Martin Luther King. =================================
> Welson de Avelar Soares Filho
> Analista/Programador Delphi
> Gemini Sistemas
> <www.geminisistemas.com.br>
> Juiz de Fora - Minas Gerais
> =================================
>            
> ---------------------------------

--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.392 / Virus Database: 268.7.0/345 - Release Date: 22/05/2006







--
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a