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]Transitar pontos entre períodos

    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Transitar pontos entre períodos Empty [Resolvido]Transitar pontos entre períodos

    Mensagem  alantb 15/3/2019, 13:48

    Olá pessoal, tenho um sistema em Access2016 em que cadastro “Boletins de Avaliação” de funcionários para que sejam Promovidos de Classe(A,B,C,D e E) por Merecimento antes do TEMPO. A parte de cadastros, manutenções, relatórios, etc está OK. Porém tem um detalhe que falta para os ajustes finais, mas que a mais de uma semana estou quebrando a cabeça para solucionar e não obtive sucesso. Eis a ordem dos fatos e print de alguns formulários e relatório para exemplificar:

    1. Primeiro é cadastrado a PESSOA;
    2. Depois esta PESSOA é cadastrada em uma tabela CONTRATO (matricula, setor, cargo,...);
    3. Depois essa pessoa traz seus certificados e diplomas de cursos e capacitações para que seja somado nos Boletins Anuais de Avaliações;
    4. Em outro formulário é cadastrado para cada funcionário um Boletim Anual em que o funcionário será avaliado em quesitos de Assiduidade, Disciplina, Capacitação e Eficiência;
    5. No quesito Capacitação soma-se os pontos obtidos pelos diplomas ou certificados cadastrados anteriormente;
    6. Ao final há uma soma total de cada ano;
    7. Após todos esses cadastros é emitido um relatório: filtrado por classe; com soma de pontos dos 3 últimos boletins (ex: 2016,2017,2018); em ordem decrescente de pontos (maior para menor);
    8. De cada relatório de classe classificam-se os 10 primeiros, ou seja, com maior pontuação e consequentemente são promovidos de classe antes do tempo ( ex: de B para C);
    9. Os certificados e diplomas cadastrados para um funcionário que foi promovido não são mais levados em consideração para novas promoções. Este terá de trazer NOVOS certificados ou diplomas para pleitear uma nova promoção de classe.

    Agora vem o problema:

    a) Normalmente os certificados ou diplomas são cadastrados em UM dos períodos de avaliação. Ex: o funcionário trouxe seus certificados de cursos de capacitações em 2016, portanto eles ficam gravados na avaliação de 2016;
    b) Os MESMOS certificados/diplomas não precisam aparecer nos outros períodos de avaliação: 2017 e 2018, porque já estão sendo somados;
    c) Enquanto o funcionário não é promovido de classe, esses certificados ficam valendo e somando a novos que esse funcionário irá trazer nas próximas avaliações;
    d) COMO fazer para que esses certificados continuem transitando nas avaliações futuras. Ex: se eu selecionar o último período de avaliação: 2016,2017 e 2018, beleza, aparece os certificados cadastrados em 2016;
    e) Mas digamos que o funcionário NÃO foi promovido e a próxima avaliação será no período de 2017,2018 e 2019, o relatório não irá somar os certificados pois os mesmos ficaram em 2016;
    f) Preciso que os pontos dos certificados cadastrados em uma avaliação anterior continuem valendo enquanto o funcionário não é promovido, ou seja, falando de uma forma mais comum: que os pontos dos certificados “pulem” de um período anterior para um mais novo.

    [Resolvido]Transitar pontos entre períodos 110
    [Resolvido]Transitar pontos entre períodos 210
    [Resolvido]Transitar pontos entre períodos 310
    [Resolvido]Transitar pontos entre períodos 410
    [Resolvido]Transitar pontos entre períodos 510

    ALAN
    scandinavo
    scandinavo
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1049
    Registrado : 11/11/2009

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  scandinavo 15/3/2019, 22:41

    olá olhando de fora so pelas suas informações
    não sei qual o critério que você está utilizando para montar o relatório para trazer estes pontos.
    eu faria assim
    nas tabelas aonde está os diplomas e os cursos .o.que você utilizar para somar os pontos .
    um campo sim não com título de.coluna pontos já utilizados e ao promover o funcionário colocar um código para marcar todas estas caixas com sim.

    e.no relatório pedir para trazer so os que está com não eu seja desmarcado
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  alantb 18/3/2019, 17:19

    Olá scandinavo, eu já tenho um campo em uma tabela que dependendo se for SIM ou NÃO, puxa os valores para a guia CAPACITAÇÃO do form Boletim de Merecimento. O campo chama-se "Arquivado", se for escolhido NÃO os pontos do certificado preenchem os respectivos campos da guia CAPACITAÇÃO; se for SIM é como se o certificado já foi usado, o funcionário já foi promovido com as soma destes certificados e os mesmos são "arquivados", não são mais levados em conta na soma, mas não são totalmente excluídos, digamos ficam em uma espécie de histórico.

    Não sei se fui claro anteriormente, quando o funcionário trás os certificados esses são gravados em um Ano de avaliação. Na medida que as avaliações avançam de período, esse ano pode ficar para trás. Cada boletim se refere a um ano e nele contém os quesitos de avaliação e um dos quesitos é CAPACITAÇÃO, onde aparecem os pontos dos certificados. Enquanto o funcionário não é promovido aqueles pontos ficam valendo, não importando em qual ano ele foi gravado. Ex: período de 2016, 2017 e 2018; os pontos dos certificados foram gravados no ano 2016, então para listar a classificação é emitido um relatório de 2016 a 2018. A próxima avaliação será de 2017 á 2019, 2016 ficará fora, entretanto preciso dos pontos dos certificados que estavam em 2016. Eles terão de seguir a diante, nos próximos anos, até o funcionário ser promovido.Basicamente é isso...

    Sigo na luta..

    ALAN
    scandinavo
    scandinavo
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1049
    Registrado : 11/11/2009

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  scandinavo 18/3/2019, 23:29

    então se você já tem este campo então é uma questão de adaptar o filtro para trazer todos os pontos que ainda não foram arquivados independente do período escolhido.


    tem como postar o banco
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  alantb 21/3/2019, 18:48

    Valeu scandinavo, mas vou tentar uma coisa totalmente diferente, mas da mesma forma preciso de uma ajuda. Pretendo carregar o relatório de outra forma, que teria a seguinte seleção:

    1º) Em uma query selecionar e ao mesmo tempo somar os pontos conforme critérios, imaginei assim:

    SELECT CodCertificado, MatriculaFunc, sum(nroPontos) AS Pontos, Arquivado FROM tbCertificado WHERE Arquivado= false GROUP BY MatriculaFunc,Pontos;"

    2º) Em uma segunda SELECT MatriculaFunc, Nome, desCargo,dtClasse,desClasse, SUM (NroPontosAperfeicoamento+NroPontosEnsMedio+NroPontosTecProfi+NroPontosGradSup+NroPontosPosGrad+NroPontosMestrado+NroPontosDoutorado) AS PontosBoletim FROM (((TbContrato LEFT JOIN TbPessoa ON TbContrato.CodPessoa=TbPessoa.CodPessoa)LEFT JOIN TbCargo ON TbContrato.CodCargo=TbCargo.CodCargo)LEFT JOIN TbClasse ON TbContrato.CodClasse=TbClasse.CodClasse)LEFT JOIN TbPontos ON TbContrato.Matricula =TbPontos.MatriculaFunc WHERE " & strFiltro & " GROUP BY MatriculaFunc,Nome,desCargo,desClasse,dtClasse ;"

    3º) Como unir o resultado das duas querys para que o relatório seja assim : MatriculaFunc;Nome,desCargo;desClasse;dtClasse e a penúltima coluna será a soma dos pontos da primeira query com os da segunda (Pontos+PontosBoletim)em ordem decrescente; e na última coluna a classificação : 1,2,3,4,5,...

    ALAN
    scandinavo
    scandinavo
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1049
    Registrado : 11/11/2009

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  scandinavo 22/3/2019, 08:38

    posta uma parte do Banco de dados
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  alantb 22/3/2019, 18:11

    Olá, segue cópia do BD para os colegas verificarem a situação atual. Para exemplificar, e se orientar no BD segue um passo a passo:

    - No Menu Registros -->Certificados é onde é cadastrado os Certificados e Diplomas de qualificações do funcionários. Cada certificado tem uma pontuação;
    - No Menu Registros -->Boletim-Pontuação é onde são cadastrados as pontuações de avaliações dos chefes de setor: assiduidade, eficiência, etc;
    - Após esses dois cadastros é emitido um relatório, por classe(A,B,C,..) em ordem decrescente de pontuação. Os 10 mais pontuados são promovidos;
    - Para emitir o relatório é selecionado um período de 3 anos: ex: 01/01/2016 à 31/12/2018;
    - É somado os pontos dos 3 boletins anuais + a soma dos certificados que não estão Arquivados (campo Arquivado=false);
    - Para chegar na soma do relatório pretendo usar a soma do campo TotalPontosAnoCap (tbPontos) + a soma dos pontos dos certificados não arquivados de cada funcionário (tbCertificado);
    - Para teste Menu Relatórios ---> Boletins-Classificação, esse formulário (frmRelClassificacao) tem no código uma query que funciona, mas não soma os pontos como deveria. Essa query faz a seleção corretamente, mas apenas dos pontos dos boletins e certificados do período selecionado. Os pontos dos certificados valem independentemente do período selecionado;
    - Por isso o total de pontos dos Certificados tenho de pegar direto da tabela tbCertificado, enquanto o funcionário não for promovido, os pontos ficam valendo. Depois de promovido os certificados ficam como Arquivado=True e não são mais somados. Daí o funcionário precisa de novos certificados para uma futura promoção;

    Para finalizar: preciso pegar o total de pontos da tbPontos: TotalPontosAnoCap e somar com a soma dos pontos dos certificados de tbCertificado; tudo agrupado (cada funcionário por linha); em ordem decrescente como na imagem do relatório que está em anexo.

    ALAN
    Anexos
    [Resolvido]Transitar pontos entre períodos Attachmentpromo1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.6 Mb) Baixado 2 vez(es)
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  alantb 22/3/2019, 20:19

    Pessoal, criei uma Consulta: ConsultaRelClassifiCap, que está calculando como eu quero. Só não tô conseguindo fazê-la executar no relatório: RelClassificacaoCap. Será que é porque na construção dessa Consulta eu inseri um campo de uma segunda consulta??Ou porque está envolvendo cálculos???Pois da forma que eu estava usando anteriormente a query era direto via código sem o uso de consultas para filtrar o relatório??? Se for isso como extrair o "SQL" e inserir direto no código do formulário para filtrar o relatório???Segue nova cópia do BD com essa consulta...

    ALAN
    Anexos
    [Resolvido]Transitar pontos entre períodos Attachmentpromo1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.6 Mb) Baixado 17 vez(es)
    scandinavo
    scandinavo
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1049
    Registrado : 11/11/2009

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  scandinavo 26/3/2019, 01:37

    apague linha de código que você inserido no evento ao abrir do relatorio
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  alantb 26/3/2019, 12:52

    Olá scandinavo, exclui conforme orientou anteriormente, só que dai não carrega dados no relatório, quando incluo novamente a linha de código carrega os dados normalmente. Porém cada vez que vou emitir o relatório pede para "Inserir valor de parâmetro" para o campo "SomaDeTotalAnoCap". Basta teclar OK e o relatório filtra da forma que pretendo, com ou sem datas. Como contornar essa mensagem de parâmetros. Acho que se conseguir eliminar esse problema, dai posso seguir para os ajustes finais desse pequeno sistema. Sigo na tentativa por aqui..

    Segue BD atualizado....

    ALAN
    Anexos
    [Resolvido]Transitar pontos entre períodos Attachmentpromo1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.7 Mb) Baixado 3 vez(es)
    scandinavo
    scandinavo
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1049
    Registrado : 11/11/2009

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  scandinavo 26/3/2019, 14:23

    confira as consulta que compõem o relatório em alguma dela tem este pagamento na linha critério confira todas elas e é só deletar que para de pedir mensagem.

    para mim com alinha no código os campos no relatório aparece erro #nome se deletar aparece os dados normalmente.
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  alantb 26/3/2019, 14:45

    scandinavo, estou usando a query abaixo para emissão do relatório. A seleção é feita via código, não tem nenhuma consulta na origem de dados do relatório. Fiz a união de campos de duas consultas(imagens em anexo) para extrair o SQL e digitar a query juntamente com um "strFiltro" para filtragem de dados. Aparentemente não vi nada em "Critérios" que pudessem solicitar o parâmetro que comentei acima...Sigo adiante e buscando a solução..

    ALAN

    Query:

    DoCmd.OpenReport "RelClassificacaoCap", acViewPreview, , , , "SELECT tbPontos.MatriculaFunc, tbPessoa.Nome, tbCargo.desCargo, tbClasse.desClasse, tbContrato.dtClasse, Sum(tbPontos.TotalPontosAnoCap) AS SomadeTotalPontosAnoCap, ConsultaRelClassifiCert.SomaDenroPontos, [SomadeTotalPontosAnoCap]+[SomaDenroPontos] AS Pontos FROM tbPessoa INNER JOIN ((tbClasse INNER JOIN (tbCargo INNER JOIN tbContrato ON tbCargo.codCargo = tbContrato.codCargo) ON tbClasse.codClasse = tbContrato.codClasse) INNER JOIN (tbPontos LEFT JOIN ConsultaRelClassifiCert ON tbPontos.MatriculaFunc = ConsultaRelClassifiCert.MatriculaFunc) ON tbContrato.Matricula = tbPontos.MatriculaFunc) ON tbPessoa.codPessoa = tbContrato.codPessoa WHERE " & strFiltro & " GROUP BY tbPontos.MatriculaFunc, tbPessoa.Nome, tbCargo.desCargo, tbClasse.desClasse, tbContrato.dtClasse, ConsultaRelClassifiCert.SomaDenroPontos, [SomadeTotalPontosAnoCap]+[SomaDenroPontos]ORDER BY Sum(tbPontos.TotalPontosAnoCap) DESC;"


    [Resolvido]Transitar pontos entre períodos Consul10

    [Resolvido]Transitar pontos entre períodos Consul11
    scandinavo
    scandinavo
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1049
    Registrado : 11/11/2009

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  scandinavo 26/3/2019, 16:48

    Achei erro

    você usa uma coluna para somar os pontos.  TotalPontosAnoCap e depois usa esta soma em outra coluna. por isso ele pede o paramentro

    faça a soma diretamente nesta outra coluna  Pontos: Soma([TotalPontosAnoCap])+[SomaDenroPontos]

    ai basta mudar a linha total por Expresão
    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  alantb 27/3/2019, 00:10

    Amigo scandinavo, com a última modificação ficou blza, sem pedir parâmetro, entretanto não consigo filtrar por data, ex: inserir 01/01/2017 a 31/12/2018 e classe A. Quando modifico para filtrar por datas ou vem relatório vazio ou a expressão #Nome? em todos os campos do relatório. Último detalhe para fechar, tentei novamente via código e também direto pela Consulta, mas não filtra. Para filtrar, o campo data que pretendo usar é o tbPontos.Periodo. Qunado tento referenciar esse campo dai ele também começa a pedir para Inserir Parâmetro. Alguma idéia???? Bom, mais uma vez sigo na luta...

    ALAN
    scandinavo
    scandinavo
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1049
    Registrado : 11/11/2009

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  scandinavo 27/3/2019, 18:13

    troque a  sgl da sua consulta

    ConsultaRelClassifiCap


    SELECT tbPontos.MatriculaFunc, tbPessoa.Nome, tbCargo.desCargo, tbClasse.desClasse, tbContrato.dtClasse, Sum(tbPontos.TotalPontosAnoCap) AS SomaDeTotalPontosAnoCap, ConsultaRelClassifiCert.SomaDenroPontos, Sum([TotalPontosAnoCap])+[SomaDenroPontos] AS Pontos
    FROM tbPessoa INNER JOIN ((tbClasse INNER JOIN (tbCargo INNER JOIN tbContrato ON tbCargo.codCargo = tbContrato.codCargo) ON tbClasse.codClasse = tbContrato.codClasse) INNER JOIN (tbPontos LEFT JOIN ConsultaRelClassifiCert ON tbPontos.MatriculaFunc = ConsultaRelClassifiCert.MatriculaFunc) ON tbContrato.Matricula = tbPontos.MatriculaFunc) ON tbPessoa.codPessoa = tbContrato.codPessoa
    WHERE (((tbPontos.Periodo) Between [Data1] And [Data2]))
    GROUP BY tbPontos.MatriculaFunc, tbPessoa.Nome, tbCargo.desCargo, tbClasse.desClasse, tbContrato.dtClasse, ConsultaRelClassifiCert.SomaDenroPontos
    HAVING (((tbClasse.desClasse)=[qual classe]))
    ORDER BY Sum(tbPontos.TotalPontosAnoCap) DESC;




    avatar
    alantb
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 25/07/2017

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  alantb 27/3/2019, 20:08

    scandinavo, fechou todas com essa última modificação no SQL da consulta, inclusive fiz mais algumas adaptações de filtro que precisava e por enquanto tudo OK. Vou seguir fazendo mais testes. Desde já agradeço a disponibilidade e a paciência. Valeu, encerramos por aqui!!!

    ALAN
    scandinavo
    scandinavo
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1049
    Registrado : 11/11/2009

    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  scandinavo 27/3/2019, 20:26

    valeu pelo retorno

    O fórum agradece

    Até mais

    Conteúdo patrocinado


    [Resolvido]Transitar pontos entre períodos Empty Re: [Resolvido]Transitar pontos entre períodos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 05:10