USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Access 2007 - cálculo de idade (em anos e meses)
Wagnes
PASSO FUNDO
RS - BRASIL
ENUNCIADA !
Postada em 21/01/2008 13:08 hs            
Olá Pessoal,
Preciso calcular a idade, em um formulário, com retorno em anos e meses.
Estou usando no construtor de expressões do access 2007 - em português:
=DifData("yyyy";[MedDataNasc];Agora())+(Format([MedDataNasc];"mmdd")>Format(Data();"mmdd"))
O campo que contém a data de nascimento é chamado: MedDataNasc
Estou obtendo o resultado somente em anos, preciso que seja em ano e meses. O que posso fazer?
Grato

Wag
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 21/01/2008 13:21 hs            
 
Colega, para você existe uma solução simples, uma função de aniversário
 
cole este código em um Módulo:
 
Public Function CalcularIdade(DTNasc As Date) As String
   Dim Anos As Single, Meses As String, Dias As Single
   Dim UTDTNasc As Date
   If Month(DTNasc) <= Month(Date) Then
      If Month(DTNasc) <> Month(Date) Then
         UTDTNasc = Day(DTNasc) & "/" & Month(DTNasc) & "/" & Year(Format(Date, "dd/mm/yyyy"))
      Else
         If Day(DTNasc) <= Day(Date) Then
            UTDTNasc = Day(DTNasc) & "/" & Month(DTNasc) & "/" & Year(Format(Date, "dd/mm/yyyy"))
         Else
            GoTo NPassou
         End If
      End If
   Else
NPassou:
      UTDTNasc = Day(DTNasc) & "/" & Month(DTNasc) & "/" & Year(Format(Date, "dd/mm/yyyy")) - 1
   End If
   Anos = DateDiff("yyyy", DTNasc, UTDTNasc)
   Meses = DateDiff("m", UTDTNasc, Date)
   If Day(Date) < Day(UTDTNasc) Then
      Meses = Meses - 1
      Dias = DateDiff("d", DateAdd("m", -1, Day(DTNasc) & "/" & Month(Date) & "/" & Year(Format(Date, "dd/mm/yyyy"))), Date)
   ElseIf Day(Date) = Day(UTDTNasc) Then
      Dias = 0
   ElseIf Day(Date) > Day(UTDTNasc) Then
      Dias = DateDiff("d", Day(DTNasc) & "/" & Month(Date) & "/" & Year(Format(Date, "dd/mm/yyyy")), Date)
   End If
   CalcularIdade = Anos & " Ano(s) " & Meses & " Mês(es) " & Dias & " Dia(s)"
End Function
 
para testar faça isto:
 
text1.text=CalcularIdade(01/08/1958)
 
e pronto eis a sua resposta
 
49 Ano(s) 5 Mês(es) 10 Dia(s)
 
 
valeu até
   
Wagmes
não registrado
Postada em 21/01/2008 14:19 hs   
 Prezado Marcelo, obrigado pela presteza e precisão da resposta.
Wagnes
 
     
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 21/01/2008 15:01 hs            
Disponha colega estamos ai pra isso
   
hugo
não registrado
ENUNCIADA !
Postada em 26/03/2008 08:08 hs   
5 estrelas! obrigadão!
   
Gilson Ferreira
não registrado
ENUNCIADA !
Postada em 29/08/2008 23:30 hs   
Olá Pessoal,
Por gentileza, alguém sabe como faço para tornar um campo na cor que eu quero dependendo do resultado apresentado? Ou seja: Tenho a soma de 3 campos e no 4° campo o total da soma dos 3 anteriores, como por exemplo, resultado até 10 - campo fica verde; até 15, campo fica amarelo; de 15 até 25, o campo ficará vermelho, isso num formulário que pega os valores importados de uma tabela em Excel.
Outra coisa: Como faço para fazer no construtor de expressões que a soma dos 3 campos, aparecerá no valor do 4° campo, em separado?
   
Página(s): 1/3      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página