Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Aniversários [Resolvido]
10-05-2010, 15:37 (Esta mensagem foi modificada pela última vez a: 10-05-2010 15:43 por crazyman.)
Mensagem: #4
RE: Aniversários
Podes utilizar a função DateDiff que calcula a diferença entre 2 datas. A sintax é assim:
DateDiff(intervalo, data1, data2 [, primeirodiadasemana] [, primeirasemanadoano] )

Mas irás ter o problema dos dias bissestos, portanto criei esta funçao:

dt_nasc -> é o nome da textbox do access

Dim i As Integer, intBix As Integer, intAno As Integer, datHoje As Date
Dim anos As Integer

datHoje = Date

intBix = 0

i = Year(dt_nasc)
i = IIf((i Mod 4 = 0 And ((Not i Mod 100 = 0) Or i Mod 400 = 0)) And dt_nasc <= DateSerial(i, 2, 28), i, i + 1)

intAno = Year(datHoje)
intAno = IIf((intAno Mod 4 = 0 And ((Not intAno Mod 100 = 0) Or intAno Mod 400 = 0)) And datHoje > DateSerial(intAno, 2, 28), intAno, intAno - 1)

For i = i To intAno
If i Mod 4 = 0 And ((Not i Mod 100 = 0) Or i Mod 400 = 0) Then
intBix = intBix + 1
Exit For
End If
Next
For i = i + 4 To intAno Step 4
If (Not i Mod 100 = 0) Or i Mod 400 = 0 Then
intBix = intBix + 1
End If
Next

anos = (DateDiff("d", dt_nasc, datHoje) - intBix) \ 365
MsgBox anos
Se pretendes uma listagem das pessoas q fazem anos nesse dia, entao creio q tens de fazer uma Query e apresenta-la em forma de form no evento click do botao.

Confundi??? Big Grin
Para saberes mais sobre a Datediff...

Vê: http://office.microsoft.com/pt-br/access...11046.aspx
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Mensagem neste Tópico
Aniversários [Resolvido] - progster - 10-05-2010, 10:19
RE: Aniversários - crazyman - 10-05-2010, 11:43
RE: Aniversários - progster - 10-05-2010, 12:09
RE: Aniversários - crazyman - 10-05-2010 15:37
RE: Aniversários - progster - 11-05-2010, 09:13
RE: Aniversários - progster - 11-05-2010, 11:07
RE: Aniversários - crazyman - 11-05-2010, 20:19
RE: Aniversários - progster - 14-05-2010, 11:45
RE: Aniversários - crazyman - 14-05-2010, 12:52
RE: Aniversários - progster - 14-05-2010, 13:47
RE: Aniversários - crazyman - 14-05-2010, 13:53
RE: Aniversários - progster - 14-05-2010, 16:54

Saltar Fórum:


Utilizadores a ver este tópico: 2 Visitante(s)