Fórum consulta DD/MM (não consegui mais respostas no outro tópico) #468201
28/01/2014
0
bom: estou com esse código no ADOQuery
select * From Membros
where DataNascimento
e esse código no botão de consulta
ConsultaAniver.Close;
ConsultaAniver.SQL.CLEAR;
ConsultaAniver.SQL.ADD('SELECT * FROM Membros WHERE DataNascimento between :DATAI AND :DATAF ');
ConsultaAniver.parameters.ParamByName('datai').Value := FormatDateTime('dd/mm', StrToDate(Jvmaskedit1.text));
ConsultaAniver.parameters.ParamByName('dataf').Value := FormatDateTime('dd/mm', StrToDate(Jvmaskedit1.text));
ConsultaAniver.open;
mais só esta me retornando o dia e mês exato, da consulta, sendo que quero que: seja entre a data pesquisada,
tipo: entre 24/04 e 24/05, e mostre as datas independente do ano!
Moabe Oliveira
Curtir tópico
+ 0Posts
28/01/2014
Mr. White
...
ConsultaAniver.parameters.ParamByName('datai').Value := FormatDateTime('dd/mm', StrToDate(Jvmaskedit1.text));
ConsultaAniver.parameters.ParamByName('dataf').Value := FormatDateTime('dd/mm', StrToDate(Jvmaskedit1.text));
ConsultaAniver.open;
Se :datai e :dataf forem iguais só vai trazer o dia exato mesmo..
Gostei + 0
28/01/2014
Moabe Oliveira
Gostei + 0
28/01/2014
Marcos Saffran
altere a sua select para algo assim:
SELECT * FROM Membros WHERE MONTH(DataNascimento) between :MES_DATAI AND :MES_DATAF and DAY(DATANASCIMENTO) between :DIA_DATAI AND :DIA_DATAF
e depois posta ela aqui para vermos como ficou.
Gostei + 0
28/01/2014
Moabe Oliveira
ConsultaAniver.Close;
ConsultaAniver.SQL.CLEAR;
ConsultaAniver.SQL.ADD('SELECT * FROM Membros WHERE MONTH(DataNascimento) between :MES_DATAI AND :MES_DATAF and DAY(DATANASCIMENTO) between :DIA_DATAI AND :DIA_DATAF ');
ConsultaAniver.parameters.ParamByName('MES_DATAI').Value := FormatDateTime('dd/mm', StrToDate(Jvmaskedit1.text));
ConsultaAniver.parameters.ParamByName('DIA_DATAI').Value := FormatDateTime('dd/mm', StrToDate(Jvmaskedit1.text));
ConsultaAniver.parameters.ParamByName('MES_DATAF').Value := FormatDateTime('dd/mm', StrToDate(Jvmaskedit2.text));
ConsultaAniver.parameters.ParamByName('DIA_DATAF').Value := FormatDateTime('dd/mm', StrToDate(Jvmaskedit2.text));
ConsultaAniver.open;mas, agora n ta mostrando mais nenhum resultado.. :s
Gostei + 0
28/01/2014
Marcos Saffran
ConsultaAniver.Close;
ConsultaAniver.SQL.CLEAR;
ConsultaAniver.SQL.ADD('SELECT * FROM Membros WHERE MONTH(DataNascimento) between :MES_DATAI AND :MES_DATAF and DAY(DATANASCIMENTO) between :DIA_DATAI AND :DIA_DATAF ');
ConsultaAniver.parameters.ParamByName('MES_DATAI').Value := FormatDateTime('mm', StrToDate(Jvmaskedit1.text));
ConsultaAniver.parameters.ParamByName('DIA_DATAI').Value := FormatDateTime('dd', StrToDate(Jvmaskedit1.text));
ConsultaAniver.parameters.ParamByName('MES_DATAF').Value := FormatDateTime('mm', StrToDate(Jvmaskedit2.text));
ConsultaAniver.parameters.ParamByName('DIA_DATAF').Value := FormatDateTime('dd', StrToDate(Jvmaskedit2.text));
ConsultaAniver.open;Gostei + 0
29/01/2014
Moabe Oliveira
Gostei + 0
29/01/2014
Marcos Saffran
tente executar a seguinte select diretamente no seu banco de dados:
SELECT * FROM Membros WHERE MONTH(DataNascimento) between 01 AND 04 and DAY(DATANASCIMENTO) between 01 AND 15;
deve retornar todos que nasceram entre os meses de janeiro e abril, e com dia de nascimento entre os dias 01 e 15.
informe se deu resultado ou se deu erro.
Gostei + 0
29/01/2014
Moabe Oliveira
Gostei + 0
29/01/2014
Marcos Saffran
ok, então coloque o comando no adosql e veja o que aparece no dbgrid
SELECT * FROM Membros WHERE MONTH(DataNascimento) between 01 AND 04 and DAY(DATANASCIMENTO) between 01 AND 15
senão você terá que digitar o comando dentro do access.
Gostei + 0
29/01/2014
Moabe Oliveira
Gostei + 0
29/01/2014
Marcos Saffran
select * from Membros where DataNascimento
Gostei + 0
29/01/2014
Moabe Oliveira
aparece todos os cadastros
Gostei + 0
29/01/2014
Marcos Saffran
aparece todos os cadastros
eu só pedi para vermos se há algum detalhe na sua tabela que pode nos ajudar a resolver o seu problema.
Gostei + 0
29/01/2014
Moabe Oliveira
Gostei + 0
29/01/2014
Douglas
Moabe, já tínhamos concluído este assunto. Mas analisando a conversa no tópico, a minha pergunta é, a sua tabela de consulta contém dados com ano inferior a 2014?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)