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

    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!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Valores errados Empty Re: Valores errados

    Mensagem  Alvaro Teixeira 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: 28/11/2022, 00:35