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]Gravação de dois campos calculados em tabela.

    jleonardofcruz
    jleonardofcruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 02/02/2012

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Gravação de dois campos calculados em tabela.

    Mensagem  jleonardofcruz 22/3/2012, 11:17

    Prezados,

    Através do código que segue abaixo, estou tentando fazer a gravação dos campos na tabela, mas sem sucesso. Num outro formulário eu consegui, mas somente usando um campo. Infelizmente não estou sabendo inserir 2 argumentos numa mesma condição. Ficarei agradecido se alguém puder me ajudar.

    1 - Os campos do formulário são [valor_pago1] e [vlr_liq_recebido]

    2 - Os campos da tabela são [ValorPago] e [ValorLiquidoRecebido]

    3 - O código:

    Private Sub Form_BeforeInsert(Cancel As Integer)

    ValorPago = valor_pago1

    ValorLiquidoRecebido = vlr_liq_recebido

    End Sub

    Novamente obrigado.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Re: [Resolvido]Gravação de dois campos calculados em tabela.

    Mensagem  Marcelo David 22/3/2012, 11:47

    A tabela não está vinculada ao formulário?
    Caso sim, basta vincular diretamente os campos "[valor_pago1] e [vlr_liq_recebido]" aos respectivos campos da tabela


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Gravação de dois campos calculados em tabela. Marcel11
    jleonardofcruz
    jleonardofcruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 02/02/2012

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Re: Gravação de dois campos calculados em tabela.

    Mensagem  jleonardofcruz 22/3/2012, 11:52

    Olá Marcelo. Obrigado pela atenção.

    A questão é que esses campos são resultados calculados. Eu não sei como vincular diretamente os resultados dos dois campos na tabela. Agradeço a ajuda.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Re: [Resolvido]Gravação de dois campos calculados em tabela.

    Mensagem  Marcelo David 22/3/2012, 12:09

    Os calculos são feitos com expressão diretamente no formulário ou é feito por VBA?
    Em que momento os calculos são feitos?
    diga-nos de qual tabela vem cada campo...


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Gravação de dois campos calculados em tabela. Marcel11
    avatar
    Convidad
    Convidado


    [Resolvido]Gravação de dois campos calculados em tabela. Empty Re: [Resolvido]Gravação de dois campos calculados em tabela.

    Mensagem  Convidad 22/3/2012, 12:10

    Leonardo

    Não se usa gravar campos calculados em tabela, isso seria redundância.

    O que se faz é usar o cálculo em caixa de texto no formulário ou relatório.

    Se pretende usar esses valores em outros formulários/relatórios, faça uma consulta da tabela onde tem os valores a serem calculados e então crie outros dois campos nessa mesma consulta e neles use os cálculos.
    Então você poderá usar essa tabela como origem de registro de um formulário/relatório.

    Abraços
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Re: [Resolvido]Gravação de dois campos calculados em tabela.

    Mensagem  Marcelo David 22/3/2012, 12:19

    Bem lembrado Balem...
    Complementando minha dica da messagem 2: Caso os calculos sejam feitos em VBA (mas pelo visto não é), basta fazer o que informei na mensagem 2.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Gravação de dois campos calculados em tabela. Marcel11
    jleonardofcruz
    jleonardofcruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 02/02/2012

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Explicação mais detalhada

    Mensagem  jleonardofcruz 22/3/2012, 13:20

    Prezados, vou tentar ser um pouco mais específico.

    Tenho um FORMULÁRIO cujo nome é contas_receber. Nele tenho os seguintes campos calculados e suas respectivas condições:

    1 - ValorPago precisa ser = valor_boleto - valor_desconto
    2 - ValorLiqRecebido precisa ser = Valor_pago - despesas_cobranca

    Até aí tudo funciona em ordem, mas usando expressão em campos NãoAcoplados. Não sei fazer isso diretamente para gravar no campo da tabela cujo nome é tbl_ctrl_boletos_creceber a não ser usando o seguinte comando nos eventos Antes de inserir e Antes de atualizar do FORMULÁRIO. Já usei esse código em outro formulário e funcionou perfeitamente. A questão central é que não consigo colocar dois campos para serem gravados.

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    ValorPago = valor_pago1
    End Sub

    Creio que o que resolveria minha questão é, se fosse possível, a seguinte condição no código que já tentei, mas sem sucesso.

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    ValorPago = valor_pago1
    ValorLiquidoRecebido = vlr_liq_recebido
    End Sub
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Re: [Resolvido]Gravação de dois campos calculados em tabela.

    Mensagem  Marcelo David 22/3/2012, 13:39

    Podes ao invés de campos calculados usar o VBA para tal:

    Crie uma função mais ou memos assim:

    Function Calcula

    Dim VP As Integer
    Dim VL As Integer

    VP = Me.valor_boleto - Me.valor_desconto
    VL = Me.Valor_pago - Me.despesas_cobranca

    ValorPago = VP
    ValorLiquidoRecebido = VL

    End Function


    Agora, basta chamar a função no evento mais apropriado:

    Call Calcula


    Se não der certo (pois não sei da sua estrutura), um DCout acho que dar certinho.

    Caso não consiga, poste banco.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Gravação de dois campos calculados em tabela. Marcel11
    jleonardofcruz
    jleonardofcruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 02/02/2012

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Rs - Agradeço o suporte

    Mensagem  jleonardofcruz 22/3/2012, 14:00

    Prezado Marcelo,

    Consegui resultado positivo usando a função abaixo no Evento Clicar do botão Salvar do formulário, mas isso só passou a gravar os campos disponíveis no código, no caso, os campos calculados. Depois inseri os outros campos da tabela e do formulário respectivamente, mas passou a dar erro de sintaxe, infelizmente.

    Código

    CurrentDb.Execute "INSERT INTO NomeDaTabela(Campo1DaTabela, Campo2DaTabela, Campos3DaTabela) VALUES('" & Me.Campo1DoForm & "', '" & Me.Campo2DoForm & "', '" & Me.Campo3DoForm & "');"
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Re: [Resolvido]Gravação de dois campos calculados em tabela.

    Mensagem  Marcelo David 22/3/2012, 14:10

    Teste:

    "INSERT INTO NomeDaTabela(Campo1DaTabela, Campo2DaTabela, Campos3DaTabela) VALUES(" & Me.Campo1DoForm & ", " & Me.Campo2DoForm & ", " & Me.Campo3DoForm & ");"

    Pois estamos trabalhando com números.

    Caso não der certto, disponibilize o banco que tentamos para você.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Gravação de dois campos calculados em tabela. Marcel11
    jleonardofcruz
    jleonardofcruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 02/02/2012

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Erro se sintaxe

    Mensagem  jleonardofcruz 22/3/2012, 14:23

    Prezado Marcelo,

    Situação de Antes:

    Coloquei o código indicado para gravar somente com os campos calculados. Os campos calculados gravavam e os outros não.

    Situação atual:

    Coloquei todos os campos da tabela e formulário no código e agora somente os campos calculados (que eram gravados na situação anterior) não estão sendo gravados mesmo retornando erro de sintaxe ao clicar. O pior é que não mostra onde é o erro.
    jleonardofcruz
    jleonardofcruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 02/02/2012

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Reforço a pergunta...

    Mensagem  jleonardofcruz 22/3/2012, 14:32

    Prezados,

    Não é possível esse código que segue abaixo ter duas referências de gravação? Com uma referência só ele funciona perfeitamente, mas a dificuldade é com duas.

    Dessa forma funciona

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    ValorPago = valor_pago1
    End Sub

    Dessa forma não funciona (pode ser a falta de um item que permita que as duas funções executem. Infelizmente não conheço programação pra saber o detalhe)

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    ValorPago = valor_pago1
    ValorLiquidoRecebido = vlr_liq_recebido
    End Sub
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Re: [Resolvido]Gravação de dois campos calculados em tabela.

    Mensagem  Marcelo David 22/3/2012, 14:33

    Amigo, como eu disse anteriormente, se puder poste seu banco que a situação é muito simples para ser resolvida, mas gostaria de ver coomo está sua estrutura...


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Gravação de dois campos calculados em tabela. Marcel11
    jleonardofcruz
    jleonardofcruz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 02/02/2012

    [Resolvido]Gravação de dois campos calculados em tabela. Empty RESOVIDO - Gravar dados

    Mensagem  jleonardofcruz 22/3/2012, 14:48

    Prezado Marcelo e amigos que colaboraram com esse tópico.

    Fiz um teste que funcionou perfeitamente.

    Inseri as referências ValorPago = valor_pago1; ValorLiquidoRecebido = vlr_liq_recebido no Evento do botão Salvar do formulário. Salvou tudo com sucesso.

    Vale lembrar que isso foi tentado no evento Antes de Inserir e Antes de atualizar do formulário, mas sem sucesso.

    Segue abaixo o código para exemplo.

    Private Sub Comando24_Click()
    On Error GoTo Err_Comando24_Click

    ValorPago = valor_pago1
    ValorLiquidoRecebido = vlr_liq_recebido

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

    Exit_Comando24_Click:
    Exit Sub

    Err_Comando24_Click:
    MsgBox Err.Description
    Resume Exit_Comando24_Click

    End Sub

    Reitero os agradecimentos a todos.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]Gravação de dois campos calculados em tabela. Empty Re: [Resolvido]Gravação de dois campos calculados em tabela.

    Mensagem  Marcelo David 22/3/2012, 15:01

    Parabéns, grato pelo retorno!


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Gravação de dois campos calculados em tabela. Marcel11

    Conteúdo patrocinado


    [Resolvido]Gravação de dois campos calculados em tabela. Empty Re: [Resolvido]Gravação de dois campos calculados em tabela.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 02:38