MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


5 participantes

    [Resolvido]ajuda com o campo idade..

    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo idade.. Empty ajuda com o campo idade..

    Mensagem  gracymary 31/1/2013, 11:45

    Bom dia!!! pessoal..

    Não estou conseguindo resolver, então gostaria da ajuda de voces..

    Tenho 3 campos:
    [Nascimento]
    [Idade]
    [QAnos]

    No campo Nascimento = entro com a data de nascimento do paciente e no Evento Sair coloquei:-
    Private Sub Nascimento_Exit(Cancel As Integer)
    Me.[QAnos] = [Idade]
    End Sub

    No campo Idade =DifData("yyyy";[Nascimento];Data())

    Então, ao digitar a "data de nascimento" - (por exemplo 10/10/1974) ao sair do campo => aparece no campo [QAnos] a idade = 39

    Acontece.. que eu gostaria que fosse a "data real".. 38 anos 3 meses e 3 dias

    Agradeço, antecipadamente, a ajuda...
    gracy
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]ajuda com o campo idade.. Empty Re: [Resolvido]ajuda com o campo idade..

    Mensagem  Cláudio Más 31/1/2013, 12:04

    Bom dia,

    Você vai precisar de código vba, veja esse exemplo.


    Última edição por Cláudio Más em 31/1/2013, 12:05, editado 1 vez(es)
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]ajuda com o campo idade.. Empty Re: [Resolvido]ajuda com o campo idade..

    Mensagem  Avelino Sampaio 31/1/2013, 12:05

    Olá

    veja neste meu artigo:

    http://www.usandoaccess.com.br/dicas/dica31.asp?id=1#inicio

    Bom estudo!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    wpitarelli
    wpitarelli
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 110
    Registrado : 12/07/2010

    [Resolvido]ajuda com o campo idade.. Empty Re: [Resolvido]ajuda com o campo idade..

    Mensagem  wpitarelli 31/1/2013, 12:10

    Faça um item não acoplado e coloque na Folha de Propriedade no item Fonte de controle =CalculaIdade(Nz([ClienteData];"01/01/1900"))

    Crie um modulo
    Function CalculaIdade(DataNasc As Date)

    Dim Anos, Meses, dias
    Dim iAnos As Double, iMeses As Double, Intervalo As Double

    If DataNasc = "01/01/1900" Then
    CalculaIdade = " " 'coloquei um espaça vazio mas vc pode colocar outra coisa
    'CalculaIdade = "Entre com data de nascimento"
    'CalculaIdade = "0"
    Exit Function
    End If


    ' 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

    Adapte os dados conforme sua necessidade.
    Abraços
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo idade.. Empty Re: [Resolvido]ajuda com o campo idade..

    Mensagem  gracymary 31/1/2013, 12:28

    obrigado pessoal!!!
    vou testar aqui e retorno..
    gracy
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo idade.. Empty Re: [Resolvido]ajuda com o campo idade..

    Mensagem  gracymary 1/2/2013, 14:47

    Bom Dia.. pra todos!!!

    .. consegui inserir a rotina abaixo:-

    Function CalculaIdade()
    If IsNull(Nascimento) Or Nascimento > 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 - Nascimento

    ' 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", Nascimento) + Anos, DatePart("m", Nascimento) + meses, Day(Nascimento)), 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, "
    Else
    Anos = Anos & " ano, "
    End If

    If meses > 1 Then
    meses = meses & " meses e "
    Else
    meses = meses & " mês e "
    End If

    If Dias > 1 Then
    Dias = Dias & " dias"
    Else
    Dias = Dias & " dia"
    End If

    CalculaIdade = Anos & meses & Dias


    CalculaIdade_Fim:

    Exit Function

    CalculaIdade_Err:
    MsgBox Err.Description
    Resume CalculaIdade_Fim
    End Function


    MAS, (tinha que haver um "mas"..rs)

    Agora o que está acontecendo:-
    tenho o campo [Nascimento] = onde insiro a data do nascimento
    e o campo [Idade] = no controle =CalculaIdade()

    problema:-

    1- Tenho que sair do formulário frmPaciente.. e entrar novamente para "aparecer a idade"
    2- Não fica gravado no "banco de dados" a idade

    .. continuo "pelejando" mas, quem sabe alguém do fórum tem alguma "idéia"...

    braçaço...
    gracy
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo idade.. Empty Re: [Resolvido]ajuda com o campo idade..

    Mensagem  gracymary 1/2/2013, 18:41

    Boa tarde!

    Ainda estou com problemas
    Se puderem me ajudar..
    gracy
    Anexos
    [Resolvido]ajuda com o campo idade.. AttachmentCadastroPaciente.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (388 Kb) Baixado 18 vez(es)
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo idade.. Empty Re: [Resolvido]ajuda com o campo idade..

    Mensagem  gracymary 2/2/2013, 15:02

    Bom dia, pra todos!!!

    Agradeço as "dicas", e foi só estudar um pouco o explo do Avelino, pra realmente entender e resolver
    a minha questão, que agora coloco aqui, (resolvida).
    Mais uma vez, obrigada!
    gracy
    Anexos
    [Resolvido]ajuda com o campo idade.. AttachmentCadPaciente.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (28 Kb) Baixado 8 vez(es)
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]ajuda com o campo idade.. Empty Re: [Resolvido]ajuda com o campo idade..

    Mensagem  Assis 2/2/2013, 17:35

    Boa tarde

    gracymary

    Abri a sua BD e reparei que grava na tabela dos pacientes a idade.

    Neste momento a:

    Joana Silva tem na tabela gravado 26 anos, 1 mês e 30 dias ------- hoje dia 2 de fevereiro de 2013

    Entretanto a Joana Silva Faz aniversário no dia 03-12 ..... 27 Anos.

    Mas na sua tabela vai continuar a estar 26 anos, 1 mês e 30 dias.

    Faça um teste altere a data do seu PC para 02-fevereiro 2014, e abra a tabela.....


    Volte a por a data do PC na Data atual....



    .................................................................................
    *** Só sei que nada sei ***
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo idade.. Empty Re: [Resolvido]ajuda com o campo idade..

    Mensagem  gracymary 2/2/2013, 21:38

    valeu Assis !!!!.. veja como ficou ..
    gracy
    Anexos
    [Resolvido]ajuda com o campo idade.. AttachmentcadPaciente_A.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (28 Kb) Baixado 13 vez(es)
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]ajuda com o campo idade.. Empty Re: [Resolvido]ajuda com o campo idade..

    Mensagem  Assis 2/2/2013, 21:53

    Assim ... sim
    Ao abrir o FormPacientes executa a consulta actualização?


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo idade.. Empty Re: [Resolvido]ajuda com o campo idade..

    Mensagem  gracymary 2/2/2013, 22:46

    É isso aí... Assis e
    obrigada pelo "alerta"!!!
    gracy

    Conteúdo patrocinado


    [Resolvido]ajuda com o campo idade.. Empty Re: [Resolvido]ajuda com o campo idade..

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 03:06