bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Como exibir valor total de um sub formulário, no formulário principal ?

Como exibir valor total de um sub formulário, no formulário principal ?

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 2x no Cartão de Crédito, através do Paypal. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

A técnica empregada para exibir o valor total de um sub formulário, no formulário principal, é relativamente simples, porém existem situações que induzem a erros e que são difíceis de serem interpretadas e compreendidas.  Contudo, não serão mais problemas, depois que você assistir a vídeo-aula deste artigo!

Observe na figura, os campos do formulário principal, exibindo a soma do campo Valor Total  e a contagem de itens do sub formulário:

Exibir valores de sub formulário

 

As tarefas de somar e contar fica por conta do próprio sub formulário.  Veja, abaixo, o sub formulário sendo aberto por fora do formulário principal:

Soma em rodapé de sub formulário

 

Observou que temos o resultado da soma e da contagem de itens no rodapé ? 

Agora, veja o sub formulário no modo designer e os campos no rodapé:

Campos em Rodapé de sub formulário

 

O nome do campo que recebe a contagem de itens chama-se TotalItens e o que recebe a soma, ValorTotalPedido.  Usamos a propriedade Fonte de Controle dos campos para inserir as funções.

Para o campo TotalItens, usamos a função Contar():

=Contar([idItem])

Para o campo ValorTotalPedido, usamos a função Soma():

=Soma([valorTotal])

E por fim, basta passarmos para aos campos do formulário principal, os valores dos campos, já calculados no rodapé do sub formulário.

Capturando valores de um sub formulário

 

O campo que mostra a contagem de itens tem a seguinte referência, escrita na propriedade Fonte de Controle:

=Filho8!TotalItens

Filho8 é o nome do campo sub formulário, do formulário principal.

O campo que mostra a soma do Valor Total dos itens tem a seguinte referência, escrita na propriedade Fonte de Controle:

=filho8!ValorTotalPedido

Arquivo Exemlo

Sobre o Vídeo

Nesta vídeo-aula irei apresentar os erros comuns que acontecem na prática e que são facilmente resolvidos e que inclusive podem ser evitados.


 

Faça o login aqui para ter acesso ao vídeo.


Sucesso!


 

 


33 comentários

Rui   11/01/2023 08:33:23

O exemplo acima não funciona com o Access 2007, a função soma a partir da origem do controlo não funciona, preciso de ajuda nesse sentido, as versões acima funciona.

Aldir da Silva Brazil   09/05/2018 11:58:08

Boa Tarde, Avelino.
Eu lí.
Mas não consegui fazer a soma do campo: [Tempo_Ponto] e colocar o resultado no campo:[Txt_Total]
=Soma([Filho21]![Tempo_Ponto]![Txt_Total])

Tem como me ajudar !!!!!!

Avelino Sampaio   09/05/2018 05:59:11

Aldir

Veja se este meu artigo atende:

http://www.usandoaccess.com.br/tutoriais/calculo-horas-extras-e-soma-superior-a-24-horas.asp?id=1#inicio

Bom estudo!

Aldir da Silva Brazil   09/05/2018 05:27:53

=Soma([M2M_Glob03]![Tempo_Total]![Txt_Total])

não da certo

aldirbrazil@hotmail.com

Aldir da Silva Brazil   09/05/2018 05:25:52

Bom dia !
Preciso de ajuda, tenho que somar campos 00:01:20 de um subformulário e colocar a soma no formulário principal.
Como faço, tentei e não da certo.
Obrigado

oliveira   02/01/2018 06:21:33

tenho um campo multa e gostaria de saber o que esto fazendo de errado que o valor sai menor 0,12 centavos a menos no outro campo demostrativo de valores em reais. exemplo
campo(Multa) 2 % em porcentagem
campo demostrativo do valor Multa em reais.
=([Multa]*[val_par])/100
resultado em 8,33 errado
resultado desejado 8,45
obrigado desde já.

Avelino Sampaio   25/09/2016 05:47:49

José,

poste essa sua duvida lá meu fórum que irei te ajudar.

http://www.redeaccess.com.br

No aguardo

José Carlos   23/09/2016 20:38:43

Avelino Boa noite, você poderia me ajudar, tem um banco de dados de uma igreja, no access 2007 no formulário principal,tem um campo (Status) Asim "Ativo e Inativo" eu queria somar todos os membros Ativo deste formulário, confesso que já tentei de tudo e não consigo, me ajudo por favor

Avelino Sampaio   04/05/2016 09:15:33

Sebastião,

não foi possível entender o que deseja. Ofereça mais detalhes.

Se inscreva também no nosso fórum sobre Access:

http://www.redeaccess.com.br

No aguardo

Sebastião Neves   04/05/2016 05:00:24

quais os atalhos para somar por linha ou coluna num formulário?

Ernando   20/01/2016 10:31:52

Muito bom. Muito obrigado. Me ajudou muito.

Avelino Sampaio   22/03/2014 04:40:49

Wilson,

estando o outro formulário aberto, basta utilizar o seguinte sintaxe:

me!NomeCampo - forms!NomeFormulário!NomeCampo

Sucesso!

Wilson Crudis   21/03/2014 12:53:59

Como eu poderia subtrair um valor informado em um formulario, de outro formulario ?
se alguem souber me ajudaria muito.

Avelino Sampaio   11/02/2014 07:41:28

Ricardo,

Estude o meu tutorial "Movimento Bancário - Saldo, linha a linha, em um formulário"

Bom estudo!

Ricardo   08/02/2014 01:36:24

Tenho um formulário principal que contem a caixa de texto saldo anterior e tenho um subformulario contendo os lançamentos do mês a pergunta é não estou conseguindo montar a formula para calcular o saldo do mês anterior =nz(DSoma(" .......... ? Pode me ajudar Avelino ?

Avelino Sampaio   24/10/2013 19:04:52

Idenilton,

podemos contornar isso utilizando a função NZ(). Exemplo:

=Soma(nz([preçoatual];0))

Se não tiver valor registrado no campo [PreçoAtual] o resultado será ZERO (0)

Sucesso!

idenilton Freitas Carosos   23/10/2013 12:16:13

ideniltondesignet@hotmail.com
#ERRO.
Olá antes de mais nada quero parabeniza-lo pela iniciativa grandiosa.

Mas com relação aos campos calculador, tenho um problema semelhante ao do amigo Egnaldo.
Observei que sempre mostra #ERRO quando não existem registros no SUB FORMULÁRIO.
Daí, o FORMULÁRIO PRINCIPAL mostra #ERRO.

Se alguém consegue resolver esse problema favor ajudar, a comunidade e eu agradeço.

marcelo antonio   24/09/2013 14:59:53

boa tarde, gostaria de saber se este procedimento serve para gravar este valor calculado em uma tabela, tenho três tabelas para pedidos, identificação do pedido, identificação dos produtos e parcelas, no form principal da tabela idpedidos tem um campo valor do pedido que so grava se eu digitar o valor total do pedido, gostaria que ele assumisse esse valor automaticamente assim que calcula-se os itens.


att

Marcia back   17/12/2012 22:12:10

Valeu pela dica, salvou o dia!!!

Egnaldo   19/11/2012 20:00:02

Avelino, encontrei o motivo deste "#erro" no campo da soma que esta no formulário.
No Sub a propriedade "Permitir adições" esta como Não, pois uso um outro formulário para inserir os registros.
Será que existe algum metodo para esse "#erro" não aparecer mesmo eu usando a propriedade "Permitir adições" como não.
Agradeço seu retorno.

Avelino Sampaio   19/11/2012 06:23:55

Egnaldo,

como está montado o campo que realiza a soma no rodapé do Sub ? Mostre a sintaxe utilizada.

No aguardo

Egnaldo   17/11/2012 17:56:37

Oi Avelino tudo bem, em primeiro lugar você esta de parabéns pelo site.
Uma pequena Duvida tenho um formulário com um sub, idêntico a esse do seu exemplo, funciona tudo normal, e esta vinculado a idPedido, mas quando não possui registro no sub retorna no campo Valor Total Do Pedido "#erro", e quando a registros o calculo é feito sem problemas.
Porque isso acontece?

Mais uma vez!!   26/10/2012 15:12:07

Avelino, mais uma vez um tutorial seu me salvou! O mais intrigante é que quando estamso de cabeça quente, não conseguimos enxergar uma solução óbvia, já fiz o que passou no tutorial, porém com a cuca fervendo, me esqueci, grande abraço.
Leandro

Avelino Sampaio   03/10/2012 07:15:46

Suporte_eficaz,

realizei vários testes e não identifiquei a possivel causa. Todas as minha máquinas rodam direitinho o vídeo. Só não pude testar com o Windows XP, poi não uso mais.

Vá na seção contato do site e me passe o seu email.

No aguardo


Suporte_eficaz   26/09/2012 21:39:50

Caro, Avelino. Parabéns pelo site, mas informo que nao conseguir visualizar o vídeo nao, quanto menos o link do mesmo. Tentei com 2 navegadores e nao achei esta video-aula em questão. Já conseguir ver outras video-aulas suas, mas nao esta ai, neste caso, deste tópico ou assunto. Verifique por gentileza, se o mesmo encontra realmente disponível.

Avelino Sampaio   16/08/2012 06:27:18

Ricardo,

não entendi bem a sua pergunta. Você chegou a assistir o vídeo ? No vídeo eu demonstro como criar campo calculado, direto na consulta, para então ser usado no formulário.

No aguardo

Ricardo Nunes   15/08/2012 14:34:32

Avelino,
Quando tem que calcular através do back end funciona também?

Avelino Sampaio   12/04/2012 17:19:31

Anderson,

vc assistiu a vídeo-aula ? A sua resposta provavelmente está na vídeo-aula.

Como vc está escrevendo a chamada ?

ANDERSON MUNHOZ MADEIRA   12/04/2012 17:11:48

Olá boa tarde,

Segui todos os passos, mas esbarro sempre neste erro, no campo do formulário principal: #Nome?.

Tem alguma dica

Anderson Luiz   09/02/2012 20:39:32

Grande Avelino! Aqui é o IOB do Access. Informações objetivas. Excelente!

Anderson   09/02/2012 12:18:00

soma de saldo anterior: simples e rapido(vba)
Dim SQL As String
Dim Bd As Database
Dim RST As Recordset
Set Bd = CurrentDb

SQL = "SELECT" & " SUM (nomedocampo)" & " AS [soma] FROM nomedatabela" & " WHERE tabela.campo=" & criticanumerica & " tabela.campo<='" & criticatexto & "'" & "AND nomedatabela.campo<=#" & Format(DateSerial(Year(data), Month(data), day(data), "MM/DD/YYYY") & "#"

Set RST = Bd.OpenRecordset(SQL)
me.saldoanterior = RST!soma
RST.Close: Bd.close
soma dentro do mes: só troca a SQL
SQL = "SELECT" & " SUM (nomedocampo)" & " AS [soma] FROM nomedatabela" & " WHERE tabela.campo=" & criticanumerica & " tabela.campo<='" & criticatexto & "'" & "AND nomedatabela.campo<=#"" AND tabela.campo Between#" & Format(DateSerial(Year(data), Month(data) + 1, 1), "MM/DD/YYYY") & "#" & " AND #" & Format(DateSerial(Year(data), Month(Forms!data) + 2, 0), "MM/DD/YYYY") & "#"

Anderson   09/02/2012 12:05:05

Caso não queira usar campo mestre e campo filho (eu acho que fica mais lento) va no sub-formulario na consulta coloque no campo na linha criterio = forms!principal!nomedocampo. No formulario principal no campo do filtro na opção apos atualizar coloque a expressão: me.sub_formulario.requery. No formulario principal caso queira trazer algum falor do sub-formulario coloque no campo do formulario principal: me.nomedocampo = forms("principal").controls("nomedosubformulario).nomedocampodosubformulario.

Marcelo David   08/02/2012 19:41:48

Muito bom! Parabéns Avelino!!


Envie seu comentário: