[resolvido] Soma vários campos no formulario

Moderador: Avelino Sampaio

AldoLyra
Mensagens: 13
Registrado em: 16 Dez 2015, 16:47

[resolvido] Soma vários campos no formulario

Mensagempor AldoLyra » 11 Mai 2017, 20:54

Olá. Estou tentando somar vários campos em um formulario de entrada, mas não estou conseguindo. Estou usando no campo onde receberá a soma através do construtor de expressão: =Soma([campo1]+[campo2]+[campo3]+[campo4]+[campo5]+[campo6]+[campo7]+[campo8]).

O campo efetua a soma mas se todos os campos da somatória contiver valores e também só resulta no final a soma ele não vai totalizando.

Poderiam me ajudar?

Agradeço.
Última edição por AldoLyra em 11 Mai 2017, 21:14, editado 1 vez no total.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Avelino Sampaio
Mensagens: 1992
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Soma vários campos no formulario

Mensagempor Avelino Sampaio » 11 Mai 2017, 20:58

Aldo,

acrescente a função nz()

=Soma(nz([campo1])+nz([campo2])+nz([campo3])+nz([campo4])+nz([campo5])+nz([campo6])+nz([campo7])+nz([campo8]))

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

AldoLyra
Mensagens: 13
Registrado em: 16 Dez 2015, 16:47

Re: Soma vários campos no formulario

Mensagempor AldoLyra » 11 Mai 2017, 21:25

Boa Noite.

Avelino, fiz como falou não funcionou. Fiz com todos os campos e também com apenas 2 campos mas não funcionou.

A formula abaixo, funciona mas somente depois que entra com informação em todos os campos. Caso um campo fique vazio não soma.

=([campo1]+[campo2]+[campo3]+[campo4]+[campo5]+[campo6]+[campo7]+[campo8])

Avatar do usuário
Avelino Sampaio
Mensagens: 1992
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Soma vários campos no formulario

Mensagempor Avelino Sampaio » 11 Mai 2017, 22:31

Aldo,

tem que usar o nz()

=nz([campo1])+nz([campo2])+nz([campo3])+nz([campo4])+nz([campo5])+nz([campo6])+nz([campo7])+nz([campo8])

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


AldoLyra
Mensagens: 13
Registrado em: 16 Dez 2015, 16:47

Re: Soma vários campos no formulario

Mensagempor AldoLyra » 12 Mai 2017, 03:19

Avelino, funcionou. Apenas um detalhe, ele não atualiza o campo de imediato, demora um pouco. E não está salvando o valor na tabela.

Quando vou escolher o campo a ser somado no criador de expressão, aparece na listagem o campo com um simbolo tipo uma tabela e o mesmo campo com um simbolo tipo ferramenta. O que isso significa?

Muito obrigado.

AldoLyra
Mensagens: 13
Registrado em: 16 Dez 2015, 16:47

Re: Soma vários campos no formulario

Mensagempor AldoLyra » 13 Mai 2017, 14:43

Avelino Sampaio escreveu:Aldo,

tem que usar o nz()

=nz([campo1])+nz([campo2])+nz([campo3])+nz([campo4])+nz([campo5])+nz([campo6])+nz([campo7])+nz([campo8])

Aguardamos


Bom dia.

Avelino, funcionou. Mas não está salvando os dados na tabela. Tem alguma dica do que pode está ocorrendo?

Obrigado.

Avatar do usuário
Avelino Sampaio
Mensagens: 1992
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Soma vários campos no formulario

Mensagempor Avelino Sampaio » 13 Mai 2017, 19:53

Aldo,

crie uma função no módulo do seu formulário, conforme abaixo:

Código:
Private Function fncSomaCampos()
nz(me!campo1)+nz(me!campo2)+nz(me!campo3)+nz(me!campo4)+nz(me!campo5)+nz(me!campo6)+nz(me!campo7)+nz(me!campo8)
end function


Abra a folha de propriedade de cada campo envolvido e no evento Após atualizar escreva:

= fncSomaCampos()

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

AldoLyra
Mensagens: 13
Registrado em: 16 Dez 2015, 16:47

Re: Soma vários campos no formulario

Mensagempor AldoLyra » 13 Mai 2017, 22:22

Avelino Sampaio escreveu:Aldo,

crie uma função no módulo do seu formulário, conforme abaixo:

Código:
Private Function fncSomaCampos()
nz(me!campo1)+nz(me!campo2)+nz(me!campo3)+nz(me!campo4)+nz(me!campo5)+nz(me!campo6)+nz(me!campo7)+nz(me!campo8)
end function


Abra a folha de propriedade de cada campo envolvido e no evento Após atualizar escreva:

= fncSomaCampos()

Aguardamos


Avelino No meu BD, ele não estava somando e sim agregando. Ex: campo1(1) + campo2(1) ao invés de resultar 2 ele resulta 11.
Quebrei a cabeça um tempo, mas consegui resolver.
Agora não estou conseguindo resolver a parte do campo que coleta a soma para guardar a informação na tabela. O campo no formulario recebe a soma mas não salva na tabela.

Fiz o código do modulo que vc passou, mas ta dando erro em "Me!" quando passo o depurador também da erro.

O problema é que a fonte do controle do campo está como a função para somar os campos. E estou vendo como solução colocar este campo que recebe a soma como não acoplado e o campo que preciso receber o valor na tabela como igual ao campo acoplado.

Tem algum outro procedimento para fazer sem ser este?

Obrigado


Avelino, consegui resolver colocando um campo nãoacoplado recebendo a soma. E no campo quantidade coloquei um evento após atualizar informando que o "campo soma" é igual ao "valor do campo nãoacoplado".
Não sei se é a melhor forma, mas ta funcionando. Tem alguma sugestão?

AldoLyra
Mensagens: 13
Registrado em: 16 Dez 2015, 16:47

Re: Soma vários campos no formulario

Mensagempor AldoLyra » 20 Mai 2017, 02:49

Avelino Sampaio escreveu:Aldo,

crie uma função no módulo do seu formulário, conforme abaixo:

Código:
Private Function fncSomaCampos()
nz(me!campo1)+nz(me!campo2)+nz(me!campo3)+nz(me!campo4)+nz(me!campo5)+nz(me!campo6)+nz(me!campo7)+nz(me!campo8)
end function


Abra a folha de propriedade de cada campo envolvido e no evento Após atualizar escreva:

= fncSomaCampos()

Aguardamos



Avelino, com a sua ajuda consegui resolver. Como faço para fechar o tópico como resolvido? Preciso de outra ajuda mas talvez abrindo outro tópico.

Preciso pegar o campo que recebe a soma e multiplicar por outro que é em minutos ou segundo. E o resultado em algumas vezes pode ser acima de 24h. Você pode me ajudar? Por favor. Agradeço.

Avatar do usuário
Avelino Sampaio
Mensagens: 1992
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Soma vários campos no formulario

Mensagempor Avelino Sampaio » 20 Mai 2017, 07:21

Aldo,

abra outro tópico

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Formulários”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 3 visitantes