Página 1 de 1

Duvidas com datas!

Enviado: 12 Set 2004 17:33
por vaninho
Amigos, Tenho o bco de Dados Clientes com o Campo DAT_NASC definido com o tipo DATE.
Eu Preciso Fazer uma rotina que busque o aniversariante do dia, comparando se o campo DAT_NASC é igual a DATA do dia do sistema DATE() tipo hoje.
Preciso fazer uma busca que compare o Dia e Mês do Campo DAT_NASC com o DIA e Mês DA DATA do sistema DATE(). Se encontrou temos aniversariantes hoje!. Lista os aniversariantes .
Amigos, sei que para vcs não é difícil esta rotina mas, eu não sei fazer este tipo de verificação em data, verificando somente o dia e mês, tanto no campo DAT_NASC do Cliente e no DATE() do sistema.
Alguém por favor pode me Ajudar?.
Preciso somente de um exemplo de como fazer este tipo de verificação, não sei muito bem trabalhar com datas desta forma.
Agradeço muito a todos pela atenção e a quem me ajudar é muito importante para mim.
O pouco que sei em algumas situações também darei dicas no fórum.

Enviado: 12 Set 2004 23:08
por barreto
Olá Vaninho,

Em meu sistema eu uso um campo DAT_ANIV do tipo caracter com quatro caracteres no formato "MMDD" onde: MM=Mês do aniversário e DD=Dia do aniversário, quando quero fazer a consulta faço por esse campo, tipo:

Select Clientes
Set Order to 1 // Indice do campo DAT_ANIV
dt_hoje:=StrZero(Month(Date()),2) + StrZero(Day(Date()),2)
Seek dt_hoje

Espero que te ajude....

Barreto
la.barreto@uol.com.br

Enviado: 12 Set 2004 23:55
por Dudu_XBase
Teve um cliente q me pediu isso....fiz um relatório...um pedaço do Código...

Código: Selecionar todos

  // Seleciono clientes
  use clientes
  
  //Crio o indice cli_nasc 
  // dtos(date()) = AAAAMMDD ....entendeu...
  index on right(dtos(DATA_NASC),4) to cli_nasc
  
  // Atribuo a essas variaveis o valores com a data corrente
  cMes := strzero(month(date()),2)
  cDia  := strzero(day(date()),2)
  
  // faço a busca 
  if dbseek(cMes+cDia)
    while right(dtos(DATA_NASC),4)=cMes+cDia .and. !eof()
            ? clientes->NOME
            dbskip()
    enddo
  else // Dados nao encontrados
      ? "Sem Aniversariantes Hoje !!!"   
  endif