consulta entre datas

21/01/2006

0

boa noite pessoal...
e estou precisando de mais uma ajuda...

não sei como se faz uma pesquisa entre datas utilizando SQL, e se ela é feita em uma IBQuery!!!
e de que forma mostrar esta pesquisa para o usuário... (Form, Relatório)

utilizo BD InterBase

Tabela - TAB_ENTRADA_PRODUTO

utilizo as variáveis (DataIni, DataFim : TDateTime;) para capturar as duas datas que será feito a pesquisa...

não sei se fui claro... mas se puderem me ajudar agradeço...


Adelor Silva

Adelor Silva

Responder

Posts

21/01/2006

Vinicius2k

Colega,

with <SUA_QUERY> do
begin
  Close;
  SQL := ´select * from <SUA_TABELA> where <SEU_CAMPO_DATA> between :datainicial and :datafinal´;
  ParamByName(´datainicial´).asDate := DataIni;
  ParamByName(´datafinal´).asDate := DataFim;
  Open;
end;


T+


Responder

22/01/2006

Adelor Silva

Desculpas... mas não entendi... sou iniciante em delphi
onde eu digito estas linhas de código... tentei colocar na SQL da IBQuery, mas dis que falta parametros...

se vc puder mandar mais detalhado fico grato...

obrigado!!!


Responder

22/01/2006

Vinicius2k

Colega,

Editei o código inicialmente postado de forma a facilitar sua leitura.

O código poderia ser colocado no seu botão ´Pesquisar´, por exemplo. Você deve substituir os nomes entre ´<...>´ pelos nomes reais que você está utilizando.

Este código cria a instrução SQL para a Query e informa os valores para os parametros da instrução baseado nas suas duas variáveis ´DataIni´ e ´DataFim´.

T+


Responder

22/01/2006

Adelor Silva

with DataModule1.Qry_Pesq_Datas do
begin
Close;
SQL := ´select * from Tab_Entrada_Produto where Data_Entr_Prod between :DataInicial and :DataFinal´; [color=blue:1d6906e620]// neste ponto ocorre o seguinte erro: Incompatible types: ´TString´ and ´String´[/color:1d6906e620]
ParamByName(´DataInicial´).AsDate := DateTimePickerInicio.Date;
ParamByName(´DataFinal´).asDate := DataFim;
Open;
end;
end;


Responder

22/01/2006

Vinicius2k

Colega,

Por favor, me desculpe. Cometi um erro ao postar o código. O correto:
...
SQL.Text := ´select * from Tab_Entrada_Produto where Data_Entr_Prod between :DataInicial and :DataFinal´;
...

Esquecí-me de [b:9f3d4452f0]´.Text´.[/b:9f3d4452f0]

T+


Responder

22/01/2006

Adelor Silva

muito obrigado pela ajuda... a pesquisa esta funcionando...

só mais uma pergunta...

no object inspector se eu tentar colocar a IBQuery como Active True, da erro dizendo que:

Tab_Entr_Prod: Field ´DataInicial´ not found

isso é normal???


Responder

22/01/2006

Edilcimar

DataIncial não é um campo é um parâmetro, o campo é Data_Entr_Prod


Responder

22/01/2006

Vinicius2k

[quote:197693145c=´Adelor da Silva´]no object inspector se eu tentar colocar a IBQuery como Active True, da erro dizendo que:
Tab_Entr_Prod: Field ´DataInicial´ not found

isso é normal???[/quote:197693145c]

Sim. Queries com parametros (:DataInicial e :DataFim) não podem ser abertas em tempo de projeto.

T+


Responder

23/01/2006

Adelor Silva

Muito Obrigado!!!


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar