Calculo com Datas

Delphi

19/02/2004

Boa noite, eu tenho um campo que recebe a data de aniversário do cliente (dd/mm/aaaa - 24/03/1980), gostaria que a minha aplicação retorna-se alguns dias antes do aniversário do cliente para que o meu usuário pudesse mandar parabens, promoções, essas coisas.
Estava fazendo assim:
while not Tbl_cliente.eof do if Tlb_ClienteDtAniver.Value = hoje - 3 then frm_Aniversário.Show else Tbl_Cliente.next; until Tbl_Cliente.Eof

Mas nada aparecia na tela, eu fiz teste com 5, 4, 3... dias antes do aniversário.
Se puderem me ajuda, ficarei muito grato...

Uso delphi 7 com paradox


Facc

Facc

Curtidas 0

Respostas

Logado

Logado

19/02/2004

hoje 20/02/2004 - 3 entaum o aniversário já passou...

Msa acho q vc podia fazer a comparação usando o IncDay(3,hoje) esta funcão retornará a vc exatamente quantos dias vc quiser....
Só conferea sintaxe ae valeu

ABS


GOSTEI 0
Paulo_amorim

Paulo_amorim

19/02/2004

Olá

Pode-se fazer:
if IncDay(Date,3) = DatAniver then
ShowMessage(´TA CHEGANDO, TA CHEGANDO´);



GOSTEI 0
Dan.sm

Dan.sm

19/02/2004

Ou ainda, se quiser manter seu código é só alterar essa linha
if Tlb_ClienteDtAniver.Value = hoje - 3 then 

por essa
if Tlb_ClienteDtAniver.Value = hoje + 3 then 



GOSTEI 0
Karepa

Karepa

19/02/2004

Voce não pode utilizar a data de hoje para comparar com a data de nascimento, a não ser que seu cliente nasceu a 3 dias atráz.

Nascimento = 23/02/1980 Hoje = 20/02/2004

se voce utilizar Date + 3, irá retornar 23/02/2004 e não 23/02/1980

tens que testar o dia / mes de nascimento com o dia / mes de hoje.

em tese :

select * from clientes
where day(nascimento) = (day(Date) + 3)
and month(nascimento) = month(date)


GOSTEI 0
Facc

Facc

19/02/2004

Valeu pela ajuda, mas no caso como eu faço pra pegar o dia e o mês de uma data cadastrada no banco de dados?

Uso o Paradox 7


GOSTEI 0
Logado

Logado

19/02/2004

declare 3 variáveis do tipo word

d,m,a : word

//use decode date

DecodeDate(date,d,m,a);

//pronto ta desmenbrado


GOSTEI 0
Facc

Facc

19/02/2004

declare 3 variáveis do tipo word d,m,a : word //use decode date DecodeDate(date,d,m,a); //pronto ta desmenbrado


[b:bae3d12c3a]Serve também para datas cadastradas no banco de dados?[/b:bae3d12c3a]


GOSTEI 0
POSTAR