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]Atualizar campos do Subform automaticamente

    avatar
    AJM
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Atualizar campos do Subform automaticamente Empty [Resolvido]Atualizar campos do Subform automaticamente

    Mensagem  AJM 7/3/2015, 22:56

    Olá

    Tenho um formulário (Orcamento) com um subformulário (Orcamento_Sub)
    No formulario tenho um campo chamado fator, no subformulario tem um campo chamado VL_Orcado, que é resultado do campo Valor_Compra*Fator (Tem um evento apos atualizar no campo valor_compra)
    Depois que o orçamento está todo preenchido, se eu quiser alterar o campo Fator, terei que passar por todos os registros, para atualizar o campo calculado VL_Orcado.
    Gostaria que quando fosse alterado o fator, atualizasse todos os registros do subformulario.

    Se sugerirem um loop, por favor coloquem um exemplo

    Obrigado

    att
    André
    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]Atualizar campos do Subform automaticamente Empty Re: [Resolvido]Atualizar campos do Subform automaticamente

    Mensagem  Avelino Sampaio 8/3/2015, 09:37

    Olá!

    Como vc está armazenando o cálculo em um campo, com origem na tabela, terá que percorrer todos os registros do subformulário através do RecordsetClone.  Exemplo:

    Private Sub fator_AfterUpdate()
    Dim rs As DAO.Recordset
    Set rs = Me!Orcameto_sub.Form.RecordsetClone
    Do While Not rs.EOF
       rs.Edit
           rs!vl_orcado = rs!Valor_Compra * Me!fator
       rs.Update
       rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    End Sub


    Aguardamos


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Atualizar campos do Subform automaticamente Empty Re: [Resolvido]Atualizar campos do Subform automaticamente

    Mensagem  AJM 9/3/2015, 01:18

    Olá Avelino

    Era exatamente o que eu queria. Só um detalhe, só funciona na primeira alteração do fator, se faço nova alteração, não atualiza nada.
    Se eu fechar o formulario e abrir novamente funciona, tentei colocar depois do evento do loop, um repaint ou refresh, mas nao funcionou
    Pode me sugerir algo?

    Outra coisa, quero que atualize 2 campos, o que já mencionamos e outro, como ficaria o código?
    rs!VL_Orc_Total = rs!VL_Compra_Un * Me!Fator*Quant

    Aguardo

    Att
    André
    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]Atualizar campos do Subform automaticamente Empty Re: [Resolvido]Atualizar campos do Subform automaticamente

    Mensagem  Avelino Sampaio 9/3/2015, 08:11

    Olá!

    Acrescente o rs.MoveFirst
    Defina se quant é do recordset(rs!quant) ou do formulário (me!quant).


    Private Sub fator_AfterUpdate()
    Dim rs As DAO.Recordset
    Set rs = Me!Orcameto_sub.Form.RecordsetClone
    rs.MoveFirst
    Do While Not rs.EOF
    rs.Edit
    rs!vl_orcado = rs!Valor_Compra * Me!fator
    rs!VL_Orc_Total = rs!VL_Compra_Un * Me!Fator * me!Quant
    rs.Update
    rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    End Sub


    Aguardamos


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 100
    Registrado : 27/01/2012

    [Resolvido]Atualizar campos do Subform automaticamente Empty Re: [Resolvido]Atualizar campos do Subform automaticamente

    Mensagem  AJM 10/3/2015, 12:38

    Bom dia Avelino

    Funcionou certinho, estou colocando abaixo como ficou, acrescentei um tratamento de erro, pois estava dando erro de truncar valores.
    Muito obrigado pela ajuda.

    Dim rs As DAO.Recordset
    Set rs = Me!Orcamento_Materiais_sub.Form.RecordsetClone
    On Error Resume Next
    rs.MoveFirst
    Do While Not rs.EOF
    rs.Edit
    rs!VL_Orc_Un = rs!VL_Compra_Un * Me!Fator
    rs!VL_Orc_Total = rs!VL_Compra_Un * Me!Fator * rs!Quant
    rs.Update
    rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing

    Conteúdo patrocinado


    [Resolvido]Atualizar campos do Subform automaticamente Empty Re: [Resolvido]Atualizar campos do Subform automaticamente

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 23:16