Fórum Consulta entre datas, usando Between... and. #239792

25/06/2004

0

Como fazer uma pesquisa por data usando parâmetros, ou seja, a propriedade params da Query receber o que está sendo digitado em um Edit ou MaskEdit. Pra fazer uma pesquisa por data simples eu uso o código abaixo e ele funciona.

DM.QrConsPedidos.Close;
DM.QrConsPedidos.Sql.Text := ´Select Cliente, Data, Hora, Atendente, Total From Pedidos ´ +
´Where (Data) =:DataBusca´;
DM.QrConsPedidos.Params[0].AsDate := StrToDate(MaskEdit1.Text);
DM.QrConsPedidos.open;
Close;

Agora, como seria uma pesquisa entre datas com os textos do Edit ou MaskEdit sendo passados como parâmetros? Eu tentei o código abaixo, mas não deu certo. Agradeço qualquer ajuda.

DM.QrRelatPed.Close;
DM.QrRelatPed.SQL.Text := ´Select Data, OS, Desc_od, Fab_od, Desc_oe, Fab_oe, Total from Pedidos ´ +
´Where Data Between (Data =:DataBusca1) and (Data =: DataBusca2)´;
DM.QrRelatPed.Params[0].AsDate := StrToDate(MaskEdit1.Text);
DM.QrRelatPed.Params[1].AsDate := StrToDate(MaskEdit2.Text);
DM.QrRelatPed.open;

O erro que dá quando eu executo o código acima é:
´EDBEEngineError with message ´Invalid use of keyword´
Token: =?)
Line number: 1´


Arlon

Arlon

Responder

Posts

25/06/2004

Icequente

DM.QrConsPedidos.Close;
DM.QrConsPedidos.Sql.Clear;
DM.QrConsPedidos.Sql.Add(´Select Cliente, Data, Hora, Atendente, Total From Pedidos´)
DM.QrConsPedidos.Sql.Add(´Where Data between :DataInicial and :DataFinal´);
DM.QrConsPedidos.ParamByName(´DataInicial´).AsDate := StrToDate(MaskEdit1.Text);
DM.QrConsPedidos.ParamByName(´DataFinal´).AsDate := StrToDate(MaskEdit2.Text);
DM.QrConsPedidos.Prepare;
DM.QrConsPedidos.open;
Close;

*** Acho que é isso que você precisa...
qualquer coisa entra em contato pelo e-mail losnecas@terra.com.br[/list]


Responder

Gostei + 0

25/06/2004

Arlon

era quase isso cara, mas através do seu código eu cheguei até esse aqui:

DM.QrRelatPed.Close;
DM.QrRelatPed.Sql.Clear;
DM.QrRelatPed.Sql.Text := ´Select Data, OS, Desc_od, Fab_od, Desc_oe, Fab_oe, Total from Pedidos ´ +
´Where Data between :DataInicial and :DataFinal´;
DM.QrRelatPed.ParamByName(´DataInicial´).AsDate := StrToDate(MaskEdit1.Text);
DM.QrRelatPed.ParamByName(´DataFinal´).AsDate := StrToDate(MaskEdit2.Text);
DM.QrRelatPed.Prepare;
DM.QrRelatPed.open;
Close;

valeu mesmo pela ajuda!!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar