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]Dúvida - Utiliza DContar - Domínio Agregado por registro

    avatar
    MarceloBarroso
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 09/11/2015

    [Resolvido]Dúvida - Utiliza DContar - Domínio Agregado por registro Empty [Resolvido]Dúvida - Utiliza DContar - Domínio Agregado por registro

    Mensagem  MarceloBarroso 22/6/2017, 21:14

    Prezados,

    Estou com uma dúvida para utilizar a função DContar dentro de um domínio que é uma linha da tabela.

    Vamos supor que eu tenha a tabela que para cada registro eu tenha uma coluna de resultado por mês.

    Então na linha 1, eu tenho uma coluna JAN, outra FEV, até DEZ. Quero fazer uma contagem de quantas colunas (meses) o resultado é superior a um determinado valor (30% por exemplo).

    Como posso usar o DContar em uma consulta atualização para que o campo RESULTADO da coluna, mostre quantos meses um determinado registro superou o valor de 30%?

    Agradeço pela ajuda.
    avatar
    MarceloBarroso
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 09/11/2015

    [Resolvido]Dúvida - Utiliza DContar - Domínio Agregado por registro Empty Re: [Resolvido]Dúvida - Utiliza DContar - Domínio Agregado por registro

    Mensagem  MarceloBarroso 26/6/2017, 19:35

    Pessoal,

    Não consegui até o momento uma resposta com a utilização do DContar.

    Acabei bolando uma solução criando uma função onde utilizo o método DAO.  Vide anexo.

    Assim eu leio cada registro e verifico se em  todos os meses daquele registro a meta estabelecida foi cumprida ou não. Criei um contador na função (dNum_Desc) que soma a quantidade de meses em que houve descumprimento da meta e alimento o campo Num_Desc da tabela.  Passo para o próximo registro e refaço o processo até o final da tabela.

    Na pratica a função é muito rápida, mas para construir a função demorou um pouco, por isto eu suspeito que seria possível fazer o mesmo com a função DContar.
    Anexos
    [Resolvido]Dúvida - Utiliza DContar - Domínio Agregado por registro AttachmentExemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (46 Kb) Baixado 17 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

    [Resolvido]Dúvida - Utiliza DContar - Domínio Agregado por registro Empty Re: [Resolvido]Dúvida - Utiliza DContar - Domínio Agregado por registro

    Mensagem  Alexandre Neves 27/6/2017, 19:43

    Boa tarde,
    Se está resolvido, marque o "Resolvido"
    No entanto, pode ter o código mais limpo
    Código:
    Public Function Acerta_Tabela_Calculo1()
        Dim dNum_Desc As Integer, banco_multa As DAO.Database, tabela_multa As DAO.Recordset

        dNum_Desc = 0
        Set banco_multa = CurrentDb
        Set tabela_multa = banco_multa.OpenRecordset("TL_EXEMPLO")
       
        tabela_multa.MoveFirst
        Do While Not tabela_multa.EOF
            dNum_Desc = 0
            If tabela_multa!IND_META = ">=" Or tabela_multa!IND_META = "<" Then
                If Format(tabela_multa!JAN, "Standard") < Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!FEV, "Standard") < Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!MAR, "Standard") < Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!ABR, "Standard") < Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!MAI, "Standard") < Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!JUN, "Standard") < Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!JUL, "Standard") < Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!AGO, "Standard") < Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!Set, "Standard") < Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!OUT, "Standard") < Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!NOV, "Standard") < Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!DEZ, "Standard") < Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
            ElseIf tabela_multa!IND_META = "<=" Or tabela_multa!IND_META = "=" Or tabela_multa!IND_META = ">" Then
                If Format(tabela_multa!JAN, "Standard") > Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!FEV, "Standard") > Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!MAR, "Standard") > Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!ABR, "Standard") > Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!MAI, "Standard") > Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!JUN, "Standard") > Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!JUL, "Standard") > Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!AGO, "Standard") > Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!Set, "Standard") > Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!OUT, "Standard") > Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!NOV, "Standard") > Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
                If Format(tabela_multa!DEZ, "Standard") > Format(tabela_multa!META, "Standard") Then dNum_Desc = dNum_Desc + 1
            End If
            tabela_multa.Edit
            tabela_multa!Num_Desc = dNum_Desc
            tabela_multa.Update
            tabela_multa.MoveNext
        Loop
        MsgBox "Finalizado"
        tabela_multa.Close
        Set tabela_multa = Nothing
        banco_multa.Close
        Set banco_multa = Nothing
    End Function


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    MarceloBarroso
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 09/11/2015

    [Resolvido]Dúvida - Utiliza DContar - Domínio Agregado por registro Empty Re: [Resolvido]Dúvida - Utiliza DContar - Domínio Agregado por registro

    Mensagem  MarceloBarroso 27/6/2017, 20:15

    A solução que eu dei não é a que eu buscava, porém resolve.

    Conteúdo patrocinado


    [Resolvido]Dúvida - Utiliza DContar - Domínio Agregado por registro Empty Re: [Resolvido]Dúvida - Utiliza DContar - Domínio Agregado por registro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 13:57