Aniversariantes do Dia

Delphi

15/12/2004

Galera, olha eu de novo...rs

Gostaria de saber uma coisa...
Tenho uma tabela chamda clientes...que tem um campo chamado datadenascimento.

Gostaria que quando o usuario clicasse no botao ele me gerasse todas as pessoas que fazem aniversario no dia correspondente a data do S.O....
Mas nao sei como fazer isso pois a data que armazeno no campo datadenascimento é inteira e no caso precisaria pegar soh o dia e o mes neh?!

Por favor me ajudem...

Abraços...


Tremonti

Tremonti

Curtidas 0

Respostas

Emersonclubedelphi

Emersonclubedelphi

15/12/2004

Vai depender do banco de dados que vc ta usando, mas acho q isso vai te ajudar...

procedure aniversariantes;
var
Pessoas: TStringList;
begin
Table1.First;
Pessoas := TStringList.Create;
While not(Table1.Eof) do
begin
if DayOfTheMonth(Table1DataNasc.AsDateTime) = DayOfTheMonth(Now) then
Pessoas.Add(Table1Nome.AsString);
Table1.Next;
end;
Memo1.Add(Pessoas.Text);
end;
declare a unit DateUtils
Espero ter te ajudado, qualquer dúvida é só perguntar... :roll:
Emerson o Pequeno :lol:


GOSTEI 0
Tremonti

Tremonti

15/12/2004

POutz, estou usando ADOQUery...

Nao consegui assimilar bem o codgio...
Abraços


GOSTEI 0
Thomaz_prg

Thomaz_prg

15/12/2004

uses DateUtils;

...

with adoquery do begin
  close;
  SQL.Clear;
  SQL.Add(´Select  * from clientes where (day(datadenascimento) = :dia) and (month(datadenascimento) = :mes )´);
  Parameters.ParamByName(´dia´).Value := DayOf( date );
  Parameters.ParamByName(´mes´).Value := MonthOf( date );
  Open;
end;



GOSTEI 0
Thomaz_prg

Thomaz_prg

15/12/2004

uses DateUtils;

...

with adoquery do begin
  close;
  SQL.Clear;
  SQL.Add(´Select  * from clientes where (day(datadenascimento) = :dia) and (month(datadenascimento) = :mes )´);
  Parameters.ParamByName(´dia´).Value := DayOf( date );
  Parameters.ParamByName(´mes´).Value := MonthOf( date );
  Open;
end;



GOSTEI 0
Andremuller

Andremuller

15/12/2004

Utilize a dica que que executa a sql. Caso dê erro mande uma mensagem com qual banco que tu está utilizando.

Dica: dependendo da pergunta (na maioria das vezes) é interessante informar qual o banco, tipo de conexão (ADO, dbExpress...) e versão de delphi que tu está utilizando.


GOSTEI 0
Tremonti

Tremonti

15/12/2004

Nao teste o codigo, mas uso Acces com ADO e DElphi 7


GOSTEI 0
Andremuller

Andremuller

15/12/2004

Não trabalho com acces mas não deve jugir a sql já enviada porque aquela é a função utilizada pelo SQLServer


GOSTEI 0
Thomaz_prg

Thomaz_prg

15/12/2004

Cara, tenta do jeito que eu disse. Funciona Beleza!


GOSTEI 0
Tremonti

Tremonti

15/12/2004

Funcionou Lindamente!!!

Abraços...


GOSTEI 0
POSTAR