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

4 participantes

    Consulta dados repetidos

    avatar
    iack
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 04/06/2012

    Consulta dados repetidos Empty Consulta dados repetidos

    Mensagem  iack 21/5/2019, 14:06

    Prezados amigos

    Eu sou iniciante ainda no ACCESS, eu necessito que dentro de cada turma sejam contados as pessoas (de determinados cursos) mas sem repetir (representados pela identidade, PES_IDENTIFICADOR_COD. Por exemplo no ano de 1998 aparece 4, pois são 4 cursos mas na verdade são 3 pessoas, então gostaria que aparecesse 3.

    Segue a forma que estou utilizando e desde já agradeço

    Código:
    SELECT Year([DT_CONCLUSAO]) AS Turma,
    Count(RH_QUADRO_MILITAR.PES_IDENTIFICADOR_COD) AS
    ContarDePES_IDENTIFICADOR_COD, RH_QUADRO_CURSO_DGP.NC_COD_NAT_CURSO

    FROM ((RH_QUADRO_MILITAR INNER JOIN RH_QUADRO_MILITAR_TURMA ON
    RH_QUADRO_MILITAR.PES_IDENTIFICADOR_COD =
    RH_QUADRO_MILITAR_TURMA.MIL_PES_IDENTIFICADOR_COD) INNER JOIN
    RH_QUADRO_MILITAR_CURSO ON
    RH_QUADRO_MILITAR_TURMA.MIL_PES_IDENTIFICADOR_COD =
    RH_QUADRO_MILITAR_CURSO.MIL_PES_IDENTIFICADOR_COD) INNER JOIN
    RH_QUADRO_CURSO_DGP ON RH_QUADRO_MILITAR_CURSO.CUR_CODIGO =
    RH_QUADRO_CURSO_DGP.CODIGO

    WHERE (((RH_QUADRO_MILITAR.QQ_COD_QAS_QMS) Between "8102" And "8111" Or
    (RH_QUADRO_MILITAR.QQ_COD_QAS_QMS)="8500"))

    GROUP BY Year([DT_CONCLUSAO]), RH_QUADRO_CURSO_DGP.NC_COD_NAT_CURSO,
    RH_QUADRO_MILITAR.MIL_TYPE

    HAVING (((Year([DT_CONCLUSAO]))>1986) AND
    ((RH_QUADRO_CURSO_DGP.NC_COD_NAT_CURSO)="16") AND
    ((RH_QUADRO_MILITAR.MIL_TYPE)="1"))

    ORDER BY Year([DT_CONCLUSAO]), Count(RH_QUADRO_MILITAR.PES_IDENTIFICADOR_COD);
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 732
    Registrado : 23/03/2010

    Consulta dados repetidos Empty Re: Consulta dados repetidos

    Mensagem  Finformática 21/5/2019, 17:26

    Explique melhor, por favor.
    avatar
    iack
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 04/06/2012

    Consulta dados repetidos Empty Re: Consulta dados repetidos

    Mensagem  iack 21/5/2019, 17:43

    Prezado Amigo

    Eu desejo saber quantas pessoas possuem o curso que é identificado por "16" dentro de cada turma de formaçao que é identificada pelo ano que a pessoa entrou na Empresa. Só que na turma de 1998 aparecem 4 pessoas e na verdade são 3, pois um deles possui 2 cursos.

    Nao sei se fui claro.

    Agradeço a atenção

    Turma ContarDePES_IDENTIFICADOR_COD NC_COD_NAT_CURSO
    1996                        2                                          16
    1997                        1                                          16
    1998                        4                                          16
    1999                        2                                          16
    2002                        1                                          16
    avatar
    iack
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 04/06/2012

    Consulta dados repetidos Empty Alteração da Rotina

    Mensagem  iack 11/6/2019, 18:55

    Conforme eu citei, estou iniciando mas seguindo o link passado, eu alterei a rotina e encontrei como resultado

    Turma    PES_IDENTIFICADOR_COD
    1998    0194642336
    1998    0204718449
    1998    1126978541

    Fiquei feliz pois tinha encontrado 3 identidades, mas ao mandar contar as identidades apareceram 4.

    Turma    ContarDePES_IDENTIFICADOR_COD
    1998    4

    Poderiam me dar alguma dica? seguem abaixo as rotinas

    Código:

    SELECT DISTINCT RH_QUADRO_MILITAR.PES_IDENTIFICADOR_COD, Year([DT_CONCLUSAO]) AS Turma

    FROM (RH_QUADRO_MILITAR INNER JOIN (RH_QUADRO_MILITAR_TURMA INNER JOIN RH_QUADRO_MILITAR_CURSO ON RH_QUADRO_MILITAR_TURMA.MIL_PES_IDENTIFICADOR_COD = RH_QUADRO_MILITAR_CURSO.MIL_PES_IDENTIFICADOR_COD) ON RH_QUADRO_MILITAR.PES_IDENTIFICADOR_COD = RH_QUADRO_MILITAR_TURMA.MIL_PES_IDENTIFICADOR_COD) INNER JOIN RH_QUADRO_CURSO_DGP ON RH_QUADRO_MILITAR_CURSO.CUR_CODIGO = RH_QUADRO_CURSO_DGP.CODIGO

    WHERE (((RH_QUADRO_MILITAR.QQ_COD_QAS_QMS) Between "8102" And "8111" Or (RH_QUADRO_MILITAR.QQ_COD_QAS_QMS)="8500") AND ((RH_QUADRO_CURSO_DGP.NC_COD_NAT_CURSO)="16") AND ((RH_QUADRO_MILITAR.MIL_TYPE)="1"))

    GROUP BY RH_QUADRO_MILITAR.PES_IDENTIFICADOR_COD, Year([DT_CONCLUSAO])

    HAVING (((Year([DT_CONCLUSAO]))=1998))

    ORDER BY Year([DT_CONCLUSAO]);


    Código:

    SELECT DISTINCT Count(RH_QUADRO_MILITAR.PES_IDENTIFICADOR_COD) AS ContarDePES_IDENTIFICADOR_COD, Year([DT_CONCLUSAO]) AS Turma

    FROM (RH_QUADRO_MILITAR INNER JOIN (RH_QUADRO_MILITAR_TURMA INNER JOIN RH_QUADRO_MILITAR_CURSO ON RH_QUADRO_MILITAR_TURMA.MIL_PES_IDENTIFICADOR_COD = RH_QUADRO_MILITAR_CURSO.MIL_PES_IDENTIFICADOR_COD) ON RH_QUADRO_MILITAR.PES_IDENTIFICADOR_COD = RH_QUADRO_MILITAR_TURMA.MIL_PES_IDENTIFICADOR_COD) INNER JOIN RH_QUADRO_CURSO_DGP ON RH_QUADRO_MILITAR_CURSO.CUR_CODIGO = RH_QUADRO_CURSO_DGP.CODIGO

    WHERE (((RH_QUADRO_MILITAR.QQ_COD_QAS_QMS) Between "8102" And "8111" Or (RH_QUADRO_MILITAR.QQ_COD_QAS_QMS)="8500") AND ((RH_QUADRO_CURSO_DGP.NC_COD_NAT_CURSO)="16") AND ((RH_QUADRO_MILITAR.MIL_TYPE)="1"))

    GROUP BY Year([DT_CONCLUSAO])

    HAVING (((Year([DT_CONCLUSAO]))=1998))
    ORDER BY Year([DT_CONCLUSAO]);
    avatar
    renpv
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    Consulta dados repetidos Empty Re: Consulta dados repetidos

    Mensagem  renpv 11/6/2019, 19:17

    Tu tá tentando resolver esse problema da forma mais difícil. As consultas do access permitem fazer isso muito mais fácil. Sem você precisar digitar sequer 1 código SQL.

    No link abaixo procura a seção "Criar uma consulta de totais"
    support.office.com/pt-br/article/introdu%C3%A7%C3%A3o-%C3%A0s-consultas-a9739a09-d3ff-4f36-8ac3-5760249fb65c#__toc355883439

    Se ainda assim não conseguir manda um arquivo apenas com as tabelas envolvidas que eu monto pra ti.
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP

    Respeito às regras : Respeito às Regras 50%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1808
    Registrado : 23/01/2018

    Consulta dados repetidos Empty Re: Consulta dados repetidos

    Mensagem  crysostomo 11/6/2019, 19:59

    Faça um combo que puxe as turmas que ele vai puxar todos membros atualizados e depois colocar uma caixa de texto somando quantidade de alunos


    .................................................................................
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.

      Data/hora atual: 17/9/2021, 03:54