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]Atualização do valor total do form fica zero quando o usuário digita no BD rápido

    avatar
    Fabianoyes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 18/09/2012

    [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido Empty [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido

    Mensagem  Fabianoyes 15/9/2014, 15:15

    Bom dia;

    Tenho um sistema de venda em access e durante uma venda, ao sair do SubformuárioPedidos e ir para o formulário Pedidos, o valor total, que deve ser somado lá no SubformulárioPedidos acaba demorando algo em torno de 2 segundos para ser transportado para o formulário Pedidos. Dessa forma, se um usuário digita rápido e clica em no botão fechar pedido/baixar estoque, o VBA que possui entre algumas funções a de gravar esse valor total na tabela Pedidos com a função abaixo:
    TotalPedido = TotalGer

    irá gravar como 0 o TotalGer pois simplesmente o usuário foi mais rápido do que o aplicativo. Ou seja, o usuário conseguiu fechar o pedido antes do banco formulário atualizar o campo TotalPedido no formulário Pedidos.
    Tentei refresh, recalc e outras opções no evento ao sair do SubformulárioPedidos mas nada até agora.
    Eu vejo que, como opção seria bloquear o form até ele transportar o valor total do subformulárioPedidos para o formulárioPedidos, mas não sei como fazer, também poderia colocar um timer enquanto processa a informação, mas o que eu conheço bloqueia até o processo.
    Fico grato no que puderem ajudar pois ralei muito, lí muito aqui no forum e conto com vocês para me ajudarem.
    Desde já meu obrigado.
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido Empty Re: [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido

    Mensagem  rdrck 16/9/2014, 12:26

    Olá Fabiano,
    Com certeza, o valor total de seu pedido nunca dará "0" (zero), certo?
    Então, poderia tentar colocar, na função de gravação dos dados do botão:

    If Me.NomedoCampoTotalPedido = 0 Then
    MsgBox "Aguarde a atualização dos dados", vbOKOnly
    Else
    FUNÇÃO DE GRAVAÇÃO
    End If

    Ou pode tentar, no evento "No atual" (Current) do formulário:

    If Me.NomedoCampoTotalPedido = 0 Then
    Me.NomedoBotão.Enabled = False
    Else
    Me.NomedoBotão.Enabled = True
    End If

    Teste lá.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    avatar
    Fabianoyes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 18/09/2012

    [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido Empty Atualização do valor total do form fica zero quando o usuário digita no BD rápido

    Mensagem  Fabianoyes 16/9/2014, 14:08

    Primeiramente obrigado pela dica, ela resolveria em parte o problema.

    Imagine uma venda com 10 ou 15 itens que são multiplicados no subform, totalizados e transportados (o valor total), para o formulário principal.
    O valor não seria zero e essa rotina resolveria o problema sem dúvida, mas quando o vendedor muda a venda, acrescentando mais itens ou alterando valores de produtos daquele pedido que está aberto, o sistema já teria carregado um valor diferente de zero e ainda assim poderia demorar em atualizar o campo. Dessa forma a soma sairia errada novamente se o usuário for mais rápido do que o sistema na conclusão da venda.

    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido Empty Re: [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido

    Mensagem  rdrck 16/9/2014, 16:57

    Certo, bem pensado. Não tinha atentado para este problema.
    Mas você realmente tem a necessidade de armazenar (gravar) esse valor total na tabela?
    Pois como os subtotais já estariam armazenados na tabela de detalhes do pedido (valores dos itens), poderia fazer usos dos mesmos com cálculos para gerar futuros e necessários relatórios.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    avatar
    Fabianoyes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 18/09/2012

    [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido Empty Atualização do valor total do form fica zero quando o usuário digita no BD rápido

    Mensagem  Fabianoyes 16/9/2014, 17:30

    Então, antes, nas versões anteriores, como o volume de informação era menor, utilizavamos somente o calculo no relatório de impressão da fatura, mas hoje, o sistema, ao efetuar uma venda, ele fornece no final do período o custo variável que ocorreu em cada venda + o rateio dos custos fixos de cada loja - o valor das vendas que tiveram produtos trocados ou devolvidos bem como o extorno dos mesmos custos de forma que o sistema oferece a produtividade de cada vendedor, isso tudo amarrado e em um volume de informação de tamanho considerável que atrapalharia o processamento dos relatórios mensais pois ele teria que calcular produto por produto e suas respectivas quantidades, descontos, etc, pelo simples fato de não ter gravado no momento do processamento da venda o valor da venda em si.

    Eu, imagino, mas confesso que não sei se há um comando para isso, algo que apenas bloqueie por alguns segundos o sistema enquanto ele atualiza o campo do preço total no formulário.

    Em outras palavras, quando o usuário sai do subform o sistema faz um refresh ou recalc, etc no campo total, e o sistema dá uma pausa impedindo o usuário de fazer outra coisa enquanto não grava, como se estivesse infornando: "processando" e depois "gravado"
    Eu cheguei a criar um botão gravar antes de liberar o sistema para processar a venda e baixar os estoques, mas ainda assim, os vendedores, talvez pelo volume de computadores usando o sistema, acabam algumas vezes sendo mais rápidos.

    Ontém a noite eu criei um condicional no formulário fatura para que, quando houvesse difença entre o valor total do subformulário com o valor total da venda que foi gravado, o mesmo pinta todo o capo de preto (uma formatação condicional), impedindo a leitura.

    Imagino que dê também para fazer isso, e talvez colocando como condição o bloqueio do botão "gravar pedido" Só que não consegui escrever essa rotina em VB.

    Punk ou não? Smile
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido Empty Re: [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido

    Mensagem  rdrck 17/9/2014, 12:41

    Bom, talvez você possa fazer uso de uma "gambiarra". Com certeza não é o ideal, mas você ganharia um tempinho antes de salvar o registro.

    1 - Crie um rótulo "rtl_confirma" logo abaixo desse botão que você clica para salvar o registro, com o seguinte texto, por exemplo: "Deseja realmente salvar a venda?";
    2 - Crie 02 botões abaixo, SIM (btn_sim) e NÃO (btn_nao).
    3 - No evento "Ao Abrir" do form, coloque:

    Me.rtl_confirma.Visible = False
    Me.btn_sim.Visible = False
    Me.btn_nao.Visible = False

    4 - Ao clicar no seu botão atual "SALVAR", mude a programação de gravação, no evento "ao clicar", para esta:

    Me.rtl_confirma.Visible = True
    Me.btn_sim.Visible = True
    Me.btn_nao.Visible = True

    5 - No evento "ao clicar" do botão NÃO, coloque:

    Me.rtl_confirma.Visible = False
    Me.btn_sim.Visible = False
    Me.btn_nao.Visible = False

    6 - No evento "ao clicar" do botão SIM, coloque a rotina de gravação de seu botão atual e, logo abaixo dela:

    Me.rtl_confirma.Visible = False
    Me.btn_sim.Visible = False
    Me.btn_nao.Visible = False

    Isso iria lhe dar um tempo, pois, ao clicar no botão "SALVAR", o usuário ainda teria que clicar no botão "SIM" quando este aparecesse e, talvez, desse tempo para atualizar o valor.
    Veja ai.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido Empty Re: [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido

    Mensagem  rdrck 24/11/2014, 15:57

    Olá,
    Como anda este tópico?


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    avatar
    Fabianoyes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 18/09/2012

    [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido Empty Re: [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido

    Mensagem  Fabianoyes 25/11/2014, 16:48

    Então, eu já fazia uso desses botões para tornar o usuário mais lento do que o tempo que o BD leva para atualizar o form. Mas não acho que seria a maneira ideal.

    Acho necessária atualização do estoque das tabelas de produtos pois assim a consulta de estoque atual fica mais limpa, leve uma vez que não há informação de entrada e saída para ser processada.

    Nos demais relatórios estatísticos o BD tem um campo onde ele armazena o estoque do primeiro dia do mês e acompanha a demanda pelos lançamentos de entrada e saída.

    O problema mesmo fica nessa atualização da tabela produtos que, a meu ver, continua sem solução.

    Vou dar por encerrado, obrigado pela ajuda.
    avatar
    Fabianoyes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 18/09/2012

    [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido Empty Re: [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido

    Mensagem  Fabianoyes 25/11/2014, 16:55

    Finito.
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido Empty Re: [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido

    Mensagem  rdrck 26/11/2014, 12:23

    Ok.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.

    Conteúdo patrocinado


    [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido Empty Re: [Resolvido]Atualização do valor total do form fica zero quando o usuário digita no BD rápido

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 01:51