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]Gravar campo calculado na tabela

    avatar
    RodriguesChqao
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 118
    Registrado : 31/05/2016

    [Resolvido]Gravar campo calculado na tabela Empty [Resolvido]Gravar campo calculado na tabela

    Mensagem  RodriguesChqao 22/2/2018, 14:33

    Bom dia
    Tenho um formulário com um campo ano vinculado a uma tabela onde inseri a a seguinte expressão na origem do controle, considerando que que no mesmo formulário existe um campo data com o nome Dt_Exp

    = Direita([Dt_Exp);4)

    O objetivo é capturar no campo ano o ano da data digitada, por exemplo 21/02/2018 retornaria no campo ano 2018

    Meu problema é que no formulário está funcionando mas este dado não é gravado na tabela

    Gostaria de pedir ajuda nesse sentido

    Campos envolvidos da tabela Tbl_Credencial:

    Dt_Exp no formato data hora

    ano no formato texto

    Campos envolvidos do Formulário Frm_Credencial

    Dt_Exp no formato data hora
    campo ano no formato caixa de texto e com origem do controle = = Direita([Dt_Exp);4)

    Obrigado


    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7995
    Registrado : 15/03/2013

    [Resolvido]Gravar campo calculado na tabela Empty Re: [Resolvido]Gravar campo calculado na tabela

    Mensagem  Alvaro Teixeira 22/2/2018, 15:49

    Olá Luis Lopes,

    Pode também usar assim:
    = Year(Dt_Exp)

    Sendo um capo data, obtem o ano.
    Quanto ao gravar, não vejo a necessidade, pois se já tem o campo data, sempre que necessite do ano será colocar na origem a instrução acima, mesmo em consultas.
    No entanto, também pode gravar na tabela, agora mão sebemos como está a fazer a gravação dos seus dados.

    O ideal será disponibilizar a sua base de dados com os objectos necessarios para se compreender de que forma está a efetuar as gravações.

    Outra questão, como ficou a situação no tópico abaixo:
    https://www.maximoaccess.com/t27448-gravar-o-valor-selecionado-em-uma-combox-em-uma-tabela
    Não devemos abandonar os tópicos, sendo uma boa conduta dar o retorno a quem o ajuda.
    Ficamos aguardar a regularização.

    Abraço
    avatar
    RodriguesChqao
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 118
    Registrado : 31/05/2016

    [Resolvido]Gravar campo calculado na tabela Empty Re: [Resolvido]Gravar campo calculado na tabela

    Mensagem  RodriguesChqao 22/2/2018, 16:17

    Olá Teixeira.

    Na verdade este banco de dados já está em uso e estou tentando gravar o ano da Dt_Exp na tabela para tentar adaptar um código de numeração automática por ano para o Campo Nr_Credencial.

    Seria assim, pegar o campo calculado Ano do formulário Frm_Credencial e gravar no campo Ano da tabela Tbl_Credencial.

    Preciso passar essa fase para tentar conseguir a numeração automática para o outro campo.

    Segue o Bd anexo.

    obrigado
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7995
    Registrado : 15/03/2013

    [Resolvido]Gravar campo calculado na tabela Empty Re: [Resolvido]Gravar campo calculado na tabela

    Mensagem  Alvaro Teixeira 22/2/2018, 16:58

    Olá Luís Lopes

    Colocando o seguinte código no evento "depois de atualizar", coloca o ano no campo desejado:
    Código:
    Private Sub Dt_Exp_AfterUpdate()
        Me.xAno = year(Me.Dt_Exp)
    End Sub

    Também criei uma consulta (qyr_Atualizar Ano), caso já tenha muitos registos para atualizar de uma só vez, depois não será mais necessário:
    Código:
    UPDATE Tbl_Credencial SET Tbl_Credencial.Ano = Year([Dt_Exp]);

    Segue o meu teste:
    cld.pt/dl/download/092e6abf-4077-4cef-aed8-37e7767696e6/123_act.zip

    Abraço
    avatar
    RodriguesChqao
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 118
    Registrado : 31/05/2016

    [Resolvido]Gravar campo calculado na tabela Empty Re: [Resolvido]Gravar campo calculado na tabela

    Mensagem  RodriguesChqao 22/2/2018, 17:29

    Boa Teixeira funcionou perfeitamente.

    Mais duas dúvidas



    Como poderia criar uma numeração automática por ano para o Campo Nr_Credencial.

    Estou tentando ajustar códigos disponibilizados aqui no fórum sem sucesso.

    obrigado pela atenção
    avatar
    RodriguesChqao
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 118
    Registrado : 31/05/2016

    [Resolvido]Gravar campo calculado na tabela Empty Re: [Resolvido]Gravar campo calculado na tabela

    Mensagem  RodriguesChqao 23/2/2018, 12:22

    Bom dia
    Com a ajuda do fórum resolvi a numeração automática da seguinte forma:

    Código:
    If DCount("Nr_Credencial ", "Tbl_Credencial") = 0 Then
      Nr_Credencial = Format("1", "0000") & "/" & Year(Date)
    Else
      If Eval(Right(DMax("[Nr_Credencial]", "Tbl_Credencial", "Right([Nr_Credencial],4)= " & Year(Date)), 4)) <> Year(Date) Then
         'aqui é a virada de ano, volta para 0001/novo ano.
         Nr_Credencial = Format("1", "0000") & "/" & Year(Date)
      Else
        Nr_Credencial = Format(Left(DMax("[Nr_Credencial]", "Tbl_Credencial", "Right([Nr_Credencial],4)= " & Year(Date)), 4) + 1, "0000") & "/" & Year(Date)
      End If
    End If

    Muito obrigado
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7995
    Registrado : 15/03/2013

    [Resolvido]Gravar campo calculado na tabela Empty Re: [Resolvido]Gravar campo calculado na tabela

    Mensagem  Alvaro Teixeira 23/2/2018, 14:58

    Olá Luís Lopes,

    Quer bom que consuguiu!
    Obrigado pelo retorno, o fórum agradece.

    Abraço

    Conteúdo patrocinado


    [Resolvido]Gravar campo calculado na tabela Empty Re: [Resolvido]Gravar campo calculado na tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 19:24