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)
Kelly
não registrado
ENUNCIADA !
Postada em 17/09/2008 10:15 hs   
Alguém poderia me ajudar. Não entendo nada de accesses.
Estou precisando calcular a idade dos pacientes. Tenho o campo Data-nascimento, e gostaria que o campo Idade fosse automaticamente completado, dando a idade em anos, meses e se possivel em dias. Porém, a idade tem que ser data conforme a data de atendimento. As funções que eu tenho encontrado dão a idade atual dos pacientes. Quero que fique registrado a idade que o paciente tinha no dia do seu atendimento. Tem como? Se tiver, alguém poderia me dar esse help?
Obrigada.
   
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
ENUNCIADA !
Postada em 18/09/2008 05:16 hs            
Vai uma POG.
 
No Formulário coloque um Label(DatadeHoje), uma TextBox(DatadeNascimento) outra Label(Idade)
Coloque esta função no Formulário:
 
Private Function CALCULAIDADE()
           Idade.Text = DateDiff("yyyy", DataNascimento.Text, DatadeHoje.Caption)
End Function
 
No Form Load:
Private Sub Form_Load()
     DatadeHoje.Caption = Date
     DatadeNascimento.Text = rs!DTNASC
     CALCULAIDADE
End Sub
 
No LostFocus do TextBox
 
Private sub DatadeNascimento_LostFocus()
       CALCULAIDADE
End Sub
 
Claro sempre testando os valores da DatadeNascimento p/ serem válidos e nem Null.
vlu///
 
   
Kelly
não registrado
ENUNCIADA !
Postada em 18/09/2008 09:17 hs   
Caro LCRamos.
Agradeço sua ajuda e atenção. Tentei colocar o que vc me passou em um formulário que estou usando. Tentei modificá-lo. Não consegui, pois como já comentei, não entendo de accesses, sou curiosa, simplesmente vou tentando até conseguir ou desistir.
Teria como vc olhar para mim a função que estou tentando modificar e me dizer se tem como?
Se puder fazer esse favor eu agradeço... se não der, td bem.. agradeço por já ter me respondido anteriormente.
A função é a seguinte:

Function CalculaIdade(DataNasc As Date)
    If IsNull(DataNasc) Or DataNasc > Date Then
        MsgBox "Data de nascimento inválida!", vbExclamation, "Erro"
        Exit Function
    End If
    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,25 dias
    iAnos = Intervalo / 365.25
    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
        dias = 0
        meses = meses + 1
    End If
    
    If meses = 12 Then
        meses = 0
        Anos = Anos + 1
    End If
    
Fim:
    If Anos > 1 Then
        Anos = Anos & " anos "
    Else
        Anos = Anos & " ano "
    End If
        
    If meses > 1 Then
        meses = meses & " 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
   
PSERGIO
não registrado
ENUNCIADA !
Postada em 02/01/2009 00:17 hs   
Usei sua função para calculos de idade...É UM SHOW

Valeu
   
FABIANO
não registrado
ENUNCIADA !
Postada em 16/01/2009 07:42 hs   
Eu fiz o teste da data de aniversário mas na hora de fazer aquele teste não funciona. Você poderia por gentileza me explicar mais detalhado
   
FABIANO
não registrado
ENUNCIADA !
Postada em 16/01/2009 07:43 hs   
Eu fiz o teste da data de aniversário mas na hora de fazer aquele teste não funciona. Você poderia por gentileza me explicar mais detalhado
   
Página(s): 2/3     « ANTERIOR    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