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] Erro de cálculo em consulta

    avatar
    rgondim
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    [Resolvido] Erro de cálculo em consulta Empty [Resolvido] Erro de cálculo em consulta

    Mensagem  rgondim 9/5/2012, 21:52

    Tenho uma consulta que realiza um cálculo que deveria ser simples. É uma consulta Totais.
    Ela tem os seguintes campos:

    INSSPos > INSSNeg > BCTotal > INSSTeto > BCINSS

    BCTotal é igual: INSSPos-INSSNeg

    BCINSS igual: SeImed([BCTotal]>[INSSTeto];[INSSTeto];[BCTotal])

    Um preciso do erro:
    INSSPos = R$545,00
    INSSNeg = R$5,00
    INSSTotal = R$540,00
    INSSTeto = 3691,74
    BCINSS = 3691,74 (!!!) Deveria ser R$540,00

    Acho que o problema está no uso da subtração. Se eu não usar a subtração em INSSTotal, o problema não ocorre.

    Abaixo o SQL:

    SELECT tblTrab_SalarioLanc.CodSalData, Sum(IIf([BaseINSS]=-1,[Valor])) AS INSSPos, Sum(IIf([DedINSS]=-1,[Valor])) AS INSSNeg, IIf([INSSNeg] Is Null,[INSSPos],([INSSPos]-[INSSNeg])) AS BCTotal, Nz(DMax("Ate","qryTrab_AliquoINSS")) AS INSSTeto, IIf([BCTotal]>[INSSTeto],[INSSTeto],[BCTotal]) AS BCINSS
    FROM tblEventos INNER JOIN tblTrab_SalarioLanc ON tblEventos.CodEvento = tblTrab_SalarioLanc.CodEvento2
    GROUP BY tblTrab_SalarioLanc.CodSalData;


    Última edição por rgondim em 15/5/2012, 01:06, editado 2 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido] Erro de cálculo em consulta Empty Re: [Resolvido] Erro de cálculo em consulta

    Mensagem  JPaulo 10/5/2012, 09:20

    Opa eu aqui;

    Você tem a instrução errada, substitua o seu trecho de IIF na subtracção por este;


    IIf(IsNull([INSSNeg]),[INSSPos],(Nz([INSSPos],0)-Nz([INSSNeg],0))) AS BCTotal


    O IsNull é antes do campo em questão e não depois, e aplique sempre a função Nz para evitar erros de Nulos.




    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Erro de cálculo em consulta Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Erro de cálculo em consulta Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Erro de cálculo em consulta Folder_announce_new Instruções SQL como utilizar...
    avatar
    rgondim
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 24/02/2012

    [Resolvido] Erro de cálculo em consulta Empty Re: [Resolvido] Erro de cálculo em consulta

    Mensagem  rgondim 15/5/2012, 01:01

    Solucionei essa, não sei se é bug ou o tipo de combinação que criei é incompatível.

    Ao usar Format([BCTeto]);"Padrão") e comparar através de SeImed com a subtração de BCINSSPos com BCINSSNeg, o valor estava sendo invertido. Ao retirar Format, o cálculo funcionou.

    Conteúdo patrocinado


    [Resolvido] Erro de cálculo em consulta Empty Re: [Resolvido] Erro de cálculo em consulta

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 05:51