Fórum Apenas mês e ano... #297949

30/09/2005

0

Olá amigos, estou tentando fazer um tela de conulta onde pode procurar por um determinado periodo de mês, mas o problema é que gostaria que fosse digitado apenas o mês e o ano, sem o dia, para que pocurasse nestes determindados meses.

Exemplo:

Consulta de contas a pagas de um clinte entre janeiro de 2005 a abril de 2005. Gostaria de poder digitar na consulta apenas:

Data início: __/_____
Data final: __/_____

[b:11085b447a]Ficaria assim:[/b:11085b447a]
Data início: 01/2005
Data final: 04/2005


Rodrigo.
Obrigado


Rodrigorpb

Rodrigorpb

Responder

Posts

30/09/2005

Rjun

Que banco de dados você está usando?


Responder

Gostei + 0

30/09/2005

Rodrigorpb

Uso Firebird 1.5 e IBX.

Rodrigo.


Responder

Gostei + 0

30/09/2005

Rjun

Use um SELECT. Eu não sei a sintaxe do Firebird mais a ideia seria essa.

SELECT * FROM Tabela Where Month(Data) = :Data And Year(Data) = :Ano



Responder

Gostei + 0

30/09/2005

Rodrigorpb

Obrigado pela dica Rjun, mas eu gostaria que pudesse digitar o mês e ano no mesmo Edit. Fazendo uma mascára do tipo __/_____.


Rodrigo.


Responder

Gostei + 0

30/09/2005

Rjun

Tudo bem. É só você separa o mês e o ano do seu edit.

Mes := Copy(Edit1.Text, 1, 2);
Ano := Copy(Edit1.Text, 4, 4);



Responder

Gostei + 0

30/09/2005

Gandalf.nho

Eu tenho trabalhado com esse tipo de situação com uma UDF que transforma o campo data no formato mes/ano, daí posso filtrar diretamente nele. A biblioteca RFunc tem uma função muito boa para isso.


Responder

Gostei + 0

30/09/2005

Rodrigorpb

Vou testar como vc falou Rjun.
Como seria este esquema gandalf.nho, vc teria um exemplo ou vc trabalha com isso comercialmente?

Obrigado.
Rodrigo.


Responder

Gostei + 0

30/09/2005

Thomaz_prg

Tente assim:

select * from tabela where Extract(year from data)||extract(month from data) betwen :anomesini and :anomesfim

onde anomesini e anomesfim devem ser passados com ano seguido do mes (yyyymm).


Responder

Gostei + 0

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

Aceitar