GARANTIR DESCONTO

Fórum Consulta entre datas. #363210

25/08/2008

0

Galera boa noite, com um pequeno problema e preciso da ajuda dos colegas.

o problema é o seguinte:

tenho que fazer um relatório de caixa, quero colocar as datas e o sistema me retornar as datas detro do periodo que eu informei a ele.
Com SQL no FireBird eu consegui fazer mais quando eu vou ao delphi eu não conssigo fazer.

Meu código no delphi ta assim!

Q_Date.Close;
Q_Date.SQL.Clear;
Q_Date.SQL.Add(´Select * from parcelas where dat_venci between´ +Edit1.Text+ ´and´ +Edit2.Text´);
Q_Date.Open;


Qual é o erro?

Alguem pode me dar uma ajuda de como solucionar ess problema?
agradeço.


Jarabeucp

Jarabeucp

Responder

Posts

25/08/2008

Joaoshi

Colega,

Q_Date.Close; 
Q_Date.SQL.Clear; 
Q_Date.SQL.Add(´Select * from parcelas where dat_venci between ´ + QuotedStr(Edit1.Text) + ´ and ´ + QuotedStr(Edit2.Text)); 
Q_Date.Open; 


Lembrando que para passar datas no Firebird no padrão DD/MM/YYYY os seus edits (edit1 e edit2), devem estar DD.MM.YYYY (separados com ponto).

Espero ter ajudado.


Responder

Gostei + 0

25/08/2008

Jarabeucp

Colega,
Q_Date.Close; 
Q_Date.SQL.Clear; 
Q_Date.SQL.Add(´Select * from parcelas where dat_venci between ´ + QuotedStr(Edit1.Text) + ´ and ´ + QuotedStr(Edit2.Text)); 
Q_Date.Open; 
Lembrando que para passar datas no Firebird no padrão DD/MM/YYYY os seus edits (edit1 e edit2), devem estar DD.MM.YYYY (separados com ponto). Espero ter ajudado.


Parcero obrigado pelo hlep, deu certo


valeu.

quarquer duvida e eu puder ajudar estamos ai.


Responder

Gostei + 0

26/08/2008

Jarabeucp

Amigo postei acima q a solução q o amigo deu tinha resolvido o problema.
só que hoje fazendo alguns teste observei q só funciona quando eu pesso p filtrar datas diferentes, quando coloco nos Edits a mesma data ou seja p ele filtrar tudo q eu recebi no dia da um erro.

como soluciono o problema?

no erro fala ´ouvi um erro de conversão de string´.

D já agradeço.


Responder

Gostei + 0

26/08/2008

Joaoshi

Colega, qual o tipo do campo [b:f25b37a317]dat_venci[/b:f25b37a317] ?


Responder

Gostei + 0

26/08/2008

Jarabeucp

Colega, qual o tipo do campo [b:7503a32cdf]dat_venci[/b:7503a32cdf] ?


O tipo de campo que eu uso é DATE.


Responder

Gostei + 0

26/08/2008

Joaoshi

Poderia colar o código da forma que esta dando erro ?


Responder

Gostei + 0

26/08/2008

Jarabeucp

Poderia colar o código da forma que esta dando erro ?


  Q_Date.Close;
  Q_Date.SQL.Clear;
  Q_Date.SQL.Add(´Select * from parcelas where dat_venci between´ +QuotedStr(Inicio.Text)+ ´and´ +QuotedStr(fim.Text));
  Q_Date.Open;


Ia está o código, ele só da erro se as datas enicio e fim forem iguais se forem datas diferentes ele não da erro.


Responder

Gostei + 0

26/08/2008

Joaoshi

O que esta sendo informado em Inicio.text e Fim.text ?

Lembrando depois do Between tem que ter um espaço.
Antes e depois do AND tem que ter um espaço.

Para passar datas nos comandos SQL deve ser no formato MM/DD/YYYY (mes dia ano), no Firebird para datas no formato DD/MM/YYYY deve ser separadas por . DD.MM.YYYY.

Espero ter ajudado.


Responder

Gostei + 0

26/08/2008

Rodolfo.pirolo

O que voce pode fazer tambem é colocar as datas como parametros da sua pesquisa.

Aproveitando o seu código ficaria mais ou menos assim:
Q_Date.Close;
Q_Date.SQL.Clear;
Q_Date.SQL.Add(´Select * from parcelas where dat_venci between :ddt_ini and :ddt_fim´);
Q_Data.Sql.Params[0].asdatetime := a_sua_data_inicial;
Q_Data.Sql.Params[1].asdatetime := a_sua_data_final;
Q_Date.Open;

Com isto resolve o seu problema de formatação de data.

Abraços

Rodolfo


Responder

Gostei + 0

26/08/2008

Jarabeucp

amigos que me ajudaram nesse problema, ja solucionei o problema, quando solucionei ainda não tinha visto a postagem do amigo [b:56bc545df7]rodolfo.pirolo[/b:56bc545df7] mais a solucionei o problema do mesmo geito que ele indica no post.

se alguem tiver com a mesma duvida a solução do amigo [b:56bc545df7]rodolfo.pirolo[/b:56bc545df7] funciona 100¬.

mais a todos muito obrigado.


Responder

Gostei + 0

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

Aceitar