Apenas mês e ano...
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
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
Curtidas 0
Respostas
Rjun
30/09/2005
Que banco de dados você está usando?
GOSTEI 0
Rodrigorpb
30/09/2005
Uso Firebird 1.5 e IBX.
Rodrigo.
Rodrigo.
GOSTEI 0
Rjun
30/09/2005
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
GOSTEI 0
Rodrigorpb
30/09/2005
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.
Rodrigo.
GOSTEI 0
Rjun
30/09/2005
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);
GOSTEI 0
Gandalf.nho
30/09/2005
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.
GOSTEI 0
Rodrigorpb
30/09/2005
Vou testar como vc falou Rjun.
Como seria este esquema gandalf.nho, vc teria um exemplo ou vc trabalha com isso comercialmente?
Obrigado.
Rodrigo.
Como seria este esquema gandalf.nho, vc teria um exemplo ou vc trabalha com isso comercialmente?
Obrigado.
Rodrigo.
GOSTEI 0
Thomaz_prg
30/09/2005
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).
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).
GOSTEI 0