Ir ao conteúdo
  • Cadastre-se

No Access 2013 como contar e somar registos de uma tabela e mostrar num formulário?


Ir à solução Resolvido por Dhieg,

Posts recomendados

No Access 2013 tenho uma tabela de para registar as presenças numa reunião de condomínio.

 

Nome da tabela: tbEntidades

 

Campos:

tbEntId    tbPresente (tipo sim/não)            tbVotos

1                 sim                                          5

2                 não                                         3

3                 sim                                          4

4                 não                                         6

 

Quero colocar num form

 

1. CONTAR - um controlo que conte quantos estão presentes (=sim)

                Ex: Presenças 2

 

2. SOMAR -  um controlo que some os votos dos presentes

                  Ex: Votos 9

 

Alguém pode ajudar? Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Moderador

Olá,

 

tenha certeza de que o campo tbEntId seja INT tamanho 11 auto incrementado,  tbPresentes seja um varchar de 3 caracteres e tbVotos seja INT tamanho 11

Fazer a consulta bem simples. use a função count() para contar o número de presentes e use a função sum() para somar o número de votos para obter o valor total, agrupados pelo campo tbPresente.

 

Referências para você estudar e tentar implementar a consulta:

http://www.w3schools.com/sql/sql_groupby.asp

http://www.w3schools.com/sql/sql_func_count.asp

http://www.w3schools.com/sql/sql_func_sum.asp

http://stackoverflow.com/questions/12927268/sum-of-grouped-count-in-sql-query

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Obrigado. Percebo o código mas tenho dificuldade em implementar. Onde colocar e como?

 

Já tenho uma consulta que conta corretamente os registos.

 

Aqui está com os nomes reais usados na BD em vista SQL:

 

SELECT Count(tbEntidades.tbAssPresente) AS ContaPresentes, tbEntidades.tbAssPresenteFROM tbEntidadesGROUP BY tbEntidades.tbAssPresenteHAVING (((Count(tbEntidades.tbAssPresente))=True) AND ((tbEntidades.tbAssPresente)=True));
... e a funcionar corretamente.
 
Mas como colocar o resultado nesta caixa "Count"?
 
2015-01-12_09h07_42_zpse1e217cb.png
Link para o comentário
Compartilhar em outros sites

  • Solução
Ok, obrigado.

 

Consegui resolver com uma list box, com o Construtor de código na Origem da linha, montei uma consulta e o resultado foi

 

Para o primeiro campo que deveria mostrar a Contagem:

 



SELECT Count(tbEntidades.tbAssPresente) AS ContaPresentes, tbEntidades.tbAssPresente
FROM tbEntidades
GROUP BY tbEntidades.tbAssPresente
HAVING (((Count(tbEntidades.tbAssPresente))=True) AND ((tbEntidades.tbAssPresente)=True));


 

Para o segundo campo que deveria mostrar a Soma:

 



SELECT Sum(tbFrações.tbFrPerc) AS SomaDetbFrPerc, tbEntidades.tbAssPresente FROM tbFrações INNER JOIN tbEntidades ON tbFrações.tbFrId = tbEntidades.tbFrações.Value GROUP BY tbEntidades.tbAssPresente HAVING (((tbEntidades.tbAssPresente)=True)); 


 

Obrigado pela ajuda Dif.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!