Calculo com Datas
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:
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
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
Curtidas 0
Respostas
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
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
19/02/2004
Olá
Pode-se fazer:
Pode-se fazer:
if IncDay(Date,3) = DatAniver then ShowMessage(´TA CHEGANDO, TA CHEGANDO´);
GOSTEI 0
Dan.sm
19/02/2004
Ou ainda, se quiser manter seu código é só alterar essa linha
por essa
if Tlb_ClienteDtAniver.Value = hoje - 3 then
por essa
if Tlb_ClienteDtAniver.Value = hoje + 3 then
GOSTEI 0
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)
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
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
Uso o Paradox 7
GOSTEI 0
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
d,m,a : word
//use decode date
DecodeDate(date,d,m,a);
//pronto ta desmenbrado
GOSTEI 0
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