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

    Valores errados

    avatar
    jcristo
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2
    Registrado : 17/08/2020

    Valores errados Empty Valores errados

    Mensagem  jcristo 17/8/2020, 14:36

    Olá a todos.
    Desde há uns dias que estou encravado com um problema:
    Tenho uma base de dados Access 2010 frontend, que busca os dados a outra base de dados backend, também em Access 2010.
    Até aqui tudo bem. Agora estou a migrar os dados para o SQL server 2019 express. A frontend agora busca os dados também através de tabelas via «link». Acontece que uma consulta (query) que fazia A x B x C e dava 1.0153, ao arredondar para 2 casas decimais, dava 1.02, o que está bem.
    Buscando EXATAMENTE os mesmos dados via SQL server, dá 1.01!!!

    Reparem os resultados quando "linkados" a tabelas access:
    Valor: 1,015300011869
    Valor arredondado a 3 casa decimais: 1.015 (ok)
    Arredondado a 2 casas decimais: 1.02 (ok)

    O mesmo quando "linkados" a tabelas SQL server:
    Valor: 1,015300011869
    Arredondado a 3 casa decimais: 1.015 (ok)
    Arredondado a 2 casa decimais: 1.01 (!!!)

    Mesmo alterando os tipos de dados SQL para decimal, o valor dá o mesmo (1,015300011869) mas o arredondamento dá mal.
    Ainda mais esquisito, se arredondar para 3 casas decimais (o que deveria dar 1.015) e arredondar ESSE mesmo resultado, dá 1.01!!!
    Portanto, arredondado(arredondado(A x B x C;3);2) dá 1.01 quando arredondado(A x B x C;3) dá 1.015!!!

    Alguém tem alguma ideia?
    Obrigado!
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7242
    Registrado : 15/03/2013

    Valores errados Empty Re: Valores errados

    Mensagem  ahteixeira 17/8/2020, 20:02

    Olá Jorge Macedo, seja bem-vindo ao fórum.

    Por vezes o Access tem dessas coisa e não precisa de ser o backend em SQL.
    Não sei em que condições, mas por vezes em consultas com campos calculado já me aconteceu isso.

    Por acaso testei um campo do tipo decimal(10, Cool com o valor: 1,015300011869 e na consulta deu correto, mas neste caso foi direto não é calculado.
    Quais são o 3 valores que dá 1,015300011869 para se testar?
    Já tentou usar o format?

    Abraço

      Data/hora atual: 14/6/2021, 05:49