Olá pessoal encontrei esse código no forum
estou tentando dividir a exibição da idade da seguinte maneira, se a idade for 1 ano ou maior exiba apenas os anos, se a idade for menor que 1 ano e maior ou igual 1 mes exiba a idade em meses e se for menor que 1 mes exiba a idade em dias, exemplos:
idade: 4 anos
idade: 3 meses
idade: 7 dias
do jeito que está aparece a idade em anos meses e dias junto, tentei de algumas formas o "IF" antes da função devolver o resultado mas ele só devolve quando é 1 ano se a idade deveria aparecer em meses ou dias não funciona, segue o form com o código do jeito q modifiquei, se alguém puder me ajudar.
- Código:
Function CalculaIdade(DataNasc As Date)
Dim Anos, meses, dias
Dim iAnos As Double, iMeses As Double, Intervalo As Double
' O resultado da diferença está em Double
Intervalo = Date - DataNasc
' Um ano tem exatamente 365,2425 dias, ou
' 365 dias, cinco horas, 49 minutos e 12 segundos.
' Ou aproximadamente 365,25 dias.
iAnos = Intervalo / 365.2425
Anos = Int(iAnos)
iMeses = (iAnos - Anos) * 12
meses = Int(iMeses)
dias = DateDiff("d", DateSerial(DatePart("yyyy", DataNasc) + Anos, DatePart("m", DataNasc) + meses, Day(DataNasc)), Date)
If dias >= 30 Then
Select Case dias
Case 30
dias = 0
Case 31
dias = 1
End Select
meses = meses + 1
End If
If meses = 12 Then
meses = 0
Anos = Anos + 1
End If
FIM:
If Anos > 1 Then
Anos = Anos & " anos "
ElseIf Anos = 0 Then
Anos = ""
Else
Anos = Anos & " ano "
End If
If meses > 1 Then
meses = meses & " meses "
ElseIf meses = 0 Then
meses = ""
Else
meses = meses & " mês "
End If
If dias > 1 Then
dias = dias & " dias"
Else
dias = dias & " dia"
End If
CalculaIdade = Anos & meses & dias
End Function
estou tentando dividir a exibição da idade da seguinte maneira, se a idade for 1 ano ou maior exiba apenas os anos, se a idade for menor que 1 ano e maior ou igual 1 mes exiba a idade em meses e se for menor que 1 mes exiba a idade em dias, exemplos:
idade: 4 anos
idade: 3 meses
idade: 7 dias
do jeito que está aparece a idade em anos meses e dias junto, tentei de algumas formas o "IF" antes da função devolver o resultado mas ele só devolve quando é 1 ano se a idade deveria aparecer em meses ou dias não funciona, segue o form com o código do jeito q modifiquei, se alguém puder me ajudar.
- Anexos
- exibeIdade.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (10 Kb) Baixado 17 vez(es)