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


3 participantes

    Atualizar Totalizador imediatamente

    avatar
    Nezokk
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5
    Registrado : 16/02/2017

    Atualizar Totalizador imediatamente Empty Atualizar Totalizador imediatamente

    Mensagem  Nezokk 16/2/2017, 16:00

    Tenho um formulário principal e um sub formulário. Dentro do sub formulário tenho no rodapé um totalizador que soma o valor de um campo. A minha dificuldade está em actualizar imediatamente o campo totalizador, só actualiza quando mudo de registo, mas preciso actualizar imediatamente o campo que está no formulário senão o valor fica errado.

    Preciso que o valor seja logo actualizado assim que altere a qtd/valor. Neste exemplo o totalizador tem que ser 6 não 4:

    Atualizar Totalizador imediatamente CunQz0H


    Obrigado
    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

    Atualizar Totalizador imediatamente Empty Re: Atualizar Totalizador imediatamente

    Mensagem  Alexandre Neves 16/2/2017, 20:42

    Boa noite, e bem-vindo ao fórum

    Qual código/fórmula tem para cálculo da soma?
    Como se chamam os controlos envolvidos?


    .................................................................................
    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
    Lucio Warley Lippi
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 07/01/2017

    Atualizar Totalizador imediatamente Empty Re: Atualizar Totalizador imediatamente

    Mensagem  Lucio Warley Lippi 16/2/2017, 21:19

    Olá Nezokk;

    Tente as linhas abaixo no evento AfterUpdate nos controles QTD e Valor_Unit do subformulário:

    DoCmd.RunCommand acCmdSaveRecord
    Me.NomeDoCampo.Recalc

    Talvez isso ajude!

    Bom trabalho!
    avatar
    Nezokk
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5
    Registrado : 16/02/2017

    Atualizar Totalizador imediatamente Empty Re: Atualizar Totalizador imediatamente

    Mensagem  Nezokk 17/2/2017, 16:14

    Obrigado pelas respostas.

    Alexandre: No evento after update tanto no campo quantidade como valor unitário tenho o valor a multiplicar (ValorLinha = QTD * Valor)

    No total coloquei esta formula na origem de controlo: =Soma([ValorLinha])

    Lucio:

    Experimentei a sua sugestão no entanto o .recalc dá-me o seguinte erro:

    compile error:

    Method or data not found
    avatar
    Nezokk
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5
    Registrado : 16/02/2017

    Atualizar Totalizador imediatamente Empty Re: Atualizar Totalizador imediatamente

    Mensagem  Nezokk 17/2/2017, 16:33

    Bastou o DoCmd.RunCommand acCmdSaveRecord para actualizar o totalizador, mas estou com outro problema em actualizar um campo no formulário principal.

    Criei um campo na tabela do formulário principal para armazenar esse valor, vou precisar para futuras consultas. Gostava de actualizar logo esse campo. Coloquei este código no after update no final Forms!Formulário!campo = totalizador:

    Private Sub Valor_AfterUpdate()
    ValorLinha = QTD * Valor
    DoCmd.RunCommand acCmdSaveRecord
    Forms!Encomenda!Custo = Totalizador
    End Sub
    avatar
    Lucio Warley Lippi
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 07/01/2017

    Atualizar Totalizador imediatamente Empty Re: Atualizar Totalizador imediatamente

    Mensagem  Lucio Warley Lippi 18/2/2017, 13:24

    Nezokk;

    Veja o que diz a ajuda do access sobre o método Recalc:

    O método Recalc atualiza imediatamente todos os controles calculados (controle calculado: um controle usado em um formulário, um relatório ou uma página de acesso a dados para exibir o resultado de uma expressão. O resultado é recalculado sempre que ocorre uma alteração em um dos valores nos quais a expressão está baseada.) em um formulário.

    Sintaxe

    expressão.Recalc

    expressão =>  Uma variável que representa um objeto Form.

    Valor de retorno
    Nothing

    Comentários

    A utilização desse método equivale a pressionar a tecla F9 quando um formulário tem o foco. Você pode utilizar esse método para recalcular valores de controles que dependem de outros campos para os quais o conteúdo possa ter sido alterado.

    Exemplo

    O exemplo a seguir utiliza o método Recalc para atualizar os controles em um formulário Pedidos. Esse formulário inclui a caixa de texto Freight, que exibe o custo do frete, e um controle calculado que exibe o custo total de um pedido incluindo o frete. Se a instrução que contém o método Recalc for colocada no procedimento do evento AfterUpdate da caixa de texto Freight, o custo total de um pedido será recalculado toda vez que um novo valor de frete for inserido.

    Visual Basic for Applications
    Sub Freight_AfterUpdate()
       Me.Recalc
    End Sub


    Utilizo o access 2007. Talvez esse método possa ser utilizado para resolver o problema de atualizar o campo no formulário principal.

    Bom trabalho!
    avatar
    Nezokk
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5
    Registrado : 16/02/2017

    Atualizar Totalizador imediatamente Empty Re: Atualizar Totalizador imediatamente

    Mensagem  Nezokk 20/2/2017, 16:54

    O meu access não reconhece esse comando. Será que me falta alguma activar algo nas references?
    avatar
    Lucio Warley Lippi
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 57
    Registrado : 07/01/2017

    Atualizar Totalizador imediatamente Empty Re: Atualizar Totalizador imediatamente

    Mensagem  Lucio Warley Lippi 22/2/2017, 08:24

    Acredito que não; pois, não adicionei qualquer biblioteca.

    Talvez a instrução:

    Me.Recalc

    seja suficiente. Afinal, pela mensagem de erro apresentada, o access não reconheceu o método podendo ser indicativo de erro de sintaxe. Repare a diferença em relação à proposta anterior: Me.NomeDoCampo.Recalc

    Bom trabalho.

    Conteúdo patrocinado


    Atualizar Totalizador imediatamente Empty Re: Atualizar Totalizador imediatamente

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 18:28