Pesquisa SQL por Data???

Delphi

24/12/2003

Alguém pode me ajudar? Quero que o DBgridi mostre somente os aniversariantes do mês que o usuário digitar.

Já tentei o seguinte:

Query_Aniversariantes.Filtered := True;
Query_Aniversariantes.Close;
Query_Aniversariantes.SQL.Clear;
Query_Aniversariantes.SQL.Add(´Select*From T_Enderecos´);
Query_Aniversariantes.SQL.Add(´Where Data_Nasc Like:Consulta´);
Query_Aniversariantes.SQL.Add(´Order By Dara_Nasc asc´);
Query_Aniversariantes.ParamByName(´Consulta´).AsDate := Query_AniversariantesData_Nasc.Value;
Query_Aniversariantes.Open;


Se alguém tiver uma dica Desde já obrigado


Jfalexandre

Jfalexandre

Curtidas 0

Respostas

Tnaires

Tnaires

24/12/2003

Query_Aniversariantes.Filtered := True;
Query_Aniversariantes.Close;
Query_Aniversariantes.SQL.Clear;
Query_Aniversariantes.SQL.Add(´Select*From T_Enderecos´);
Query_Aniversariantes.SQL.Add(´Where Data_Nasc Like:Consulta´);
Query_Aniversariantes.SQL.Add(´Order By Dara_Nasc asc´);
Query_Aniversariantes.ParamByName(´Consulta´).AsDate := Query_AniversariantesData_Nasc.Value;    // 1
Query_Aniversariantes.Open;

A parte q eu numerei (1) tá estranha... como vc tá atribuindo ao parâmetro o valor do campo da própria query, q vc nem abriu ainda?
Sem contar q é ´Order By Data_Nasc´, e não ´Order By Dara_Nasc´), mas não sei se vc fez assim no programa.
Sucesso


GOSTEI 0
Tnaires

Tnaires

24/12/2003

Ah, esqueci de te dar a sugestão... Lá vai:
Query_Aniversariantes.ParamByName(´Consulta´).AsDate = StrToDate(EditData.Text);



GOSTEI 0
Fabio.hc

Fabio.hc

24/12/2003

Alguém pode me ajudar? Quero que o DBgridi mostre somente os aniversariantes do mês que o usuário digitar. Já tentei o seguinte: Query_Aniversariantes.Filtered := True; Query_Aniversariantes.Close; Query_Aniversariantes.SQL.Clear; Query_Aniversariantes.SQL.Add(´Select*From T_Enderecos´); Query_Aniversariantes.SQL.Add(´Where Data_Nasc Like:Consulta´); Query_Aniversariantes.SQL.Add(´Order By Dara_Nasc asc´); Query_Aniversariantes.ParamByName(´Consulta´).AsDate := Query_AniversariantesData_Nasc.Value; Query_Aniversariantes.Open; Se alguém tiver uma dica Desde já obrigado


Para selecionar os aniversariantes do mês, a variável consulta vc terá que passar o mês e não uma data e a instrução sql é a seguinte:

´Select * From T_Enderecos where extract(month from Data_Nasc) =:Consulta Order By Dara_Nasc asc´


GOSTEI 0
Lcarvalhoneto

Lcarvalhoneto

24/12/2003

ou vc pode tb usar o seguinte:

´Select * From T_Enderecos where month(Data_Nasc) =:Consulta Order By Dara_Nasc´


GOSTEI 0
Jfalexandre

Jfalexandre

24/12/2003

Ok Galera, Muito obrigado! Valeu a dica.


GOSTEI 0
POSTAR