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]No Access 2013 como mostrar num formulário o resultado de contar e somar registos de outra tabela?

    avatar
    Ad-minister
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/04/2014

    [Resolvido]No Access 2013 como mostrar num formulário o resultado de contar e somar registos de outra tabela? Empty [Resolvido]No Access 2013 como mostrar num formulário o resultado de contar e somar registos de outra tabela?

    Mensagem  Ad-minister 12/1/2015, 18:29

    No Access 2013 tenho um formulário baseado numa tabela - tbAssembleias

    Tenho uma tabela - tbEntidades - com um campo para registar as presenças numa reunião de condomínio.
    Já tenho uma consulta que dá a soma dos que estão presentes - agrupado pelo campo tbPresente=sim.

    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



    A consulta na vista SQL resulta nisto:

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


    No entanto não consigo que o campo no form mostre esse resultado - dá #Erro:

    [Resolvido]No Access 2013 como mostrar num formulário o resultado de contar e somar registos de outra tabela? 2015-01-12_09h07_42_zpse1e217cb

    Resumo:
    Quero colocar no form com base noutra tabela (tbAssembleias) um campo não vinculado que mostre da tabela tbEntidades:

    1. CONTAR - um controlo que mostre quantos estão presentes (=sim)
                    Ex: Presenças 2

    2. SOMAR -  um controlo que mostre a soma dos votos dos presentes
                      Ex: Votos 9

    Alguém pode ajudar? Obrigado.
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4712
    Registrado : 06/11/2009

    [Resolvido]No Access 2013 como mostrar num formulário o resultado de contar e somar registos de outra tabela? Empty Re: [Resolvido]No Access 2013 como mostrar num formulário o resultado de contar e somar registos de outra tabela?

    Mensagem  Assis 12/1/2015, 18:35

    Teste

    Me.seucampodoformulario = DCount("*", "nometabela")


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Ad-minister
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/04/2014

    [Resolvido]No Access 2013 como mostrar num formulário o resultado de contar e somar registos de outra tabela? Empty Re: [Resolvido]No Access 2013 como mostrar num formulário o resultado de contar e somar registos de outra tabela?

    Mensagem  Ad-minister 12/1/2015, 19:15

    Obrigado Assis.

    Dei "Presenças" como o nome do campo.

    Coloquei em Propriedades, na Origem do controlo:

    =Me.seucampodoformulario = DCount("*", "nometabela") ou seja

    =[Me].[Presenças]=DContar("*";"tbEntidades")

    Quando o form é exibido aparece, #Nome?

    Falta qq coisa...


    Acho que falta esta lógica:

    Contar no campo tbPresente valores iguais a "sim"... na tabela tbEntidades

    tbEntidades não está presente no formulário!
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4712
    Registrado : 06/11/2009

    [Resolvido]No Access 2013 como mostrar num formulário o resultado de contar e somar registos de outra tabela? Empty Re: [Resolvido]No Access 2013 como mostrar num formulário o resultado de contar e somar registos de outra tabela?

    Mensagem  Assis 12/1/2015, 19:38

    Ad-minister

    No VBA
    No acontecimento do formulario "No Actual"
    Me.Presenças = DContar("*";"tbEntidades")


    ou então, converta para 2007 e poste a BD



    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Ad-minister
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/04/2014

    [Resolvido]No Access 2013 como mostrar num formulário o resultado de contar e somar registos de outra tabela? Empty Re: [Resolvido]No Access 2013 como mostrar num formulário o resultado de contar e somar registos de outra tabela?

    Mensagem  Ad-minister 12/1/2015, 23:31

    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.

      Data/hora atual: 27/9/2022, 18:20