Jump to content
Fórum Script Brasil
  • 0

Função De Contas


Prof. Jonatas
 Share

Question

Galera eu tenho um campo dinâmico em um formulário do access.

Este campo execulta se seguinte função:

=(2000)/([dimensãoL])

Ele pega a dimensão L que o usuário digitou e divide por 2000

Bom até então está tudo corredo, mas acontece o seguinte eu preciso arredondar o resultado.

Por ex.

se eu digitar 50 o resultado é: 29,41176

mas eu quero que seja só 29, mas não posso usar a opção de casas decimais, porque mesmo que apareça só o 29 o valor do campo ainda é o 29,41176

Bom na verdade eu tenho 2 dimensões:

dimenãoL e dimensãoA

quando eu coloco os valor L50 e A20

os resultado são:L = 29,41176 e A = 26,31579

Logo em seguida eu faço outra conta, dimensãoL X dimensãoA

o resultado dá: 774 e não o 754 se eu tivesse usando os numeros arredondados.

Então a conta na verdade deveria ser 29*26 = 754

Alguém sabe qual função devo usar nos campos dos resultados?

valeu galera, aguardo respostas

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Encontrado em: www.jrfaq.com pesquisando a palavra arredondar (Existem outros comentários lá).

Erro causado pela propriedade Formato do campo/controle

A propriedade Formato de um controle arredonda um campo número para uma determinada quantidade de casas decimais. Porém, como a propriedade Formato atua somente na exibição dos dados, o Access continuará trabalhando internamente com o total de casas decimais que o número tiver.

Desse modo, se você somar valores de caixas de texto acopladas a campos numéricos da tabela, o total poderá parecer incorreto, caso o formato de exibição tenha sido definido com 2 casas decimais.

Exemplo: Temos dois valores armazenados numa tabela: 10,015 e 10,015. Contudo, o meu formulário exibe esses valores em duas caixas de texto formatadas com 2 casas: 10,02 e 10,02 (o Access arredonda os valores).

Portanto, a caixa de texto "Valor Total" apresentará a soma desses valores como 20,03, o que está certo porque o Access, na verdade, somou 10,015 + 10,015, retornando 20,03.

Note que isso ocorre também no Excel.

Solução do caso 1: Para resolver este problema, você deve arredondar ou truncar o número com a quantidade de casas decimais desejada, conforme mostrado a seguir:

a) Para arredondar com 2 casas decimais:

X = Int(X * 100 + 0.5) / 100

B) Para truncar com 2 casas decimais:

X = Int(X * 100) / 100

[subtotal]= Int([Quantidade] * [PrecoUnitario]*100)/100

Link to comment
Share on other sites

  • 0

Galera consegui achar a solução, segue abaixo a explicação pra alguém que também precise:

Primeiro você tem que ir na guia módulo e pedir um novo módulo.

Na programação coloque este código abaixo:

Function Round(dblNumber As Double, ÄIntDecimais As Integer) As Double
Dim dblFator As Double
Dim dblTemp As Double
dblFator = 10 ^ IntDecimais
dblTemp = dblNumber * dblFator + 0.5
Round = Int(dblTemp) / dblFator
End Function

Na verdade nós acabamos de criar uma função, pode fechar o módulo e salve.

Na sequência você pode usar a função round, para arredondar ex.:

round(12,235463;0)

Esta função irá desconsiderar os números decimais, mas anula completamente.

O numero "0" depois do ";" indica quantas casas decimais você deseja deixar ativa.

Eu deixei como "0" então não pega nenhuma casa decimal após a virgula.

Bom o arredondamento é tirado pela média 0,5

Então quando tiver um nomero antes de 0,5 tipo 12,4892 irá arredondar para 12

Se o numero for 12,51235 irá arredondar para 13

Espero ter ajudado alguém aí.

Té +

Se o moderador quiser pode fechar o tópico, valeu galeraaaaaa ;)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...