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


2 participantes

    [Resolvido]MACRO - roda no formulário, mas não GRAVA na TABELA

    avatar
    Lamcarter
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 40
    Registrado : 29/06/2013

    [Resolvido]MACRO - roda no formulário, mas não GRAVA na TABELA Empty MACRO - roda no formulário, mas não GRAVA na TABELA

    Mensagem  Lamcarter 9/8/2013, 00:39

    Pessoal, seguinte preciso de um grande auxilio de vocês, primeiramente sou novato em access, mesmo assim consegui até que elaborar um BD mais ou menos.

    Mas tenho o seguinte problema:
    Criei uma tabela CADASTRO DE ALUNOS que dentre outros campos, tem um campo de IDADE DO ALUNO, o qual calcula a idade considerando a data lançada no campo DATA DE NASCIMENTO. (esse cálculo funciona com uma macro, INCLUSIVE COPIADA DESDE FÓRUM (AGRADECIMENTOS) inserida nas propriedades da caixa de texto, aba dados, opção fonte do controle)

    Detalhe:
    NO FORMULÁRIO de cadastro  dos alunos, quando inserido a data de nascimento, automaticamente aparece a idade do aluno, ou seja, a macro funciona certinho e aparece no formulário a idade. MAS ESSA IDADE que aparece no formulário NÃO ESTÁ SENDO salva(gravada) na TABELA CADASTRO DE ALUNOS, no campo IDADE DO ALUNO.
    ASSIM, nas consultas não aparece a idade!!!!!
    O que fazer?????,

    Acredito que deve haver uma linha de comando que grava na tabela do cadastro, porém não sei como.

    Agradeço a atenção.
    NAO CONSEGUI COLOCAR A IMAGEM - SEGUE A MACRO QUE UTILIZO:


    'Função para calcular a idade do acolhido

    Function CalcIdadeAcolhido() As String
    ' Fornece a idade em anos, meses e dias
    On Error GoTo CalcIdadeAcolhido_Err

    Dim sTmp As String ' valor tmp da função
    Dim nDMA As Long ' n Anos, Meses, Dias
    Dim NewDate As Date ' data auxiliar de cálculo
    Dim sSngPlural As String ' string (mês, meses), (ano, anos)
    Dim dtData1 As Date ' data inicial de cálculo
    Dim dtData2 As Date ' data final


    If IsNull([DataNascimentoAcolhido]) Then 'Campo DataNascimentoAcolhido onde está a data de nacimento
    Exit Function
    End If

    dtData1 = [DataNascimentoAcolhido]
    dtData2 = Now

    ' Bloco Ano ---------------------
    ' Calcula número inteiro de anos
    nDMA = DateDiff("yyyy", dtData1, dtData2)
    ' Se Data1+nDMA>Data2, subtrai 1 ano
    If DateAdd("yyyy", nDMA, dtData1) > dtData2 Then
    nDMA = nDMA - 1
    End If
    sSngPlural = " ano, "
    If nDMA > 1 Then sSngPlural = " anos, "
    sTmp = nDMA & sSngPlural

    ' Bloco Mês ---------------------
    ' Nova data de referência
    NewDate = DateAdd("yyyy", nDMA, dtData1)
    nDMA = DateDiff("m", NewDate, dtData2)
    ' Se Data1+nDMA>Data2, subtrai 1 mês
    If DateAdd("m", nDMA, NewDate) > dtData2 Then
    nDMA = nDMA - 1
    End If
    sSngPlural = " mês e "
    If nDMA > 1 Then sSngPlural = " meses e "
    sTmp = sTmp & nDMA & sSngPlural

    ' Bloco Dia ---------------------
    NewDate = DateAdd("m", nDMA, NewDate)
    nDMA = DateDiff("d", NewDate, dtData2)
    sSngPlural = " dia"
    If nDMA > 1 Then sSngPlural = " dias"
    sTmp = sTmp & nDMA & sSngPlural

    ' Valor final da função
    CalcIdadeAcolhido = sTmp


    CalcIdadeAcolhido_Fim:

    Exit Function
    CalcIdadeAcolhido_Err:
    MsgBox Err.Description
    Resume CalcIdadeAcolhido_Fim
    End Function
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]MACRO - roda no formulário, mas não GRAVA na TABELA Empty Re: [Resolvido]MACRO - roda no formulário, mas não GRAVA na TABELA

    Mensagem  Alexandre Neves 9/8/2013, 17:35

    Boa tarde,
    Os campos calculados não devem ser gravados, excepto casos específicos, pois eles não são fixos.
    A idade deve ser calculada, sempre que preciso, a partir do campo de nascimento


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Lamcarter
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 40
    Registrado : 29/06/2013

    [Resolvido]MACRO - roda no formulário, mas não GRAVA na TABELA Empty RESOLVIDO

    Mensagem  Lamcarter 10/8/2013, 13:36

    Realmente caro Alexandre, você está correto, porém foi duro chegar a essa conclusão sozinho, mas desde já agradeço sua ajuda.

    Eu consegui fazer, nao enviando para o banco, mas realizando uma consulta, criando um módulo e um relatório, onde ele mostra o dado ca consulta. Resolveu meu problema.

    Obrigado pela atençao Alexandre.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]MACRO - roda no formulário, mas não GRAVA na TABELA Empty Re: [Resolvido]MACRO - roda no formulário, mas não GRAVA na TABELA

    Mensagem  Alexandre Neves 10/8/2013, 19:19

    [Resolvido]MACRO - roda no formulário, mas não GRAVA na TABELA MaximoAccess%20ResolvidoMarcado


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Conteúdo patrocinado


    [Resolvido]MACRO - roda no formulário, mas não GRAVA na TABELA Empty Re: [Resolvido]MACRO - roda no formulário, mas não GRAVA na TABELA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 17:46