Prof. Jonatas Postado Dezembro 5, 2006 Denunciar Share Postado Dezembro 5, 2006 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 2000Bom até então está tudo corredo, mas acontece o seguinte eu preciso arredondar o resultado.Por ex.se eu digitar 50 o resultado é: 29,41176mas 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,41176Bom na verdade eu tenho 2 dimensões:dimenãoL e dimensãoAquando eu coloco os valor L50 e A20os resultado são:L = 29,41176 e A = 26,31579Logo em seguida eu faço outra conta, dimensãoL X dimensãoAo 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 = 754Alguém sabe qual função devo usar nos campos dos resultados?valeu galera, aguardo respostas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raphael_suporte Postado Dezembro 5, 2006 Denunciar Share Postado Dezembro 5, 2006 já tentou trabalha com numeros inteiro?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 renpre Postado Dezembro 5, 2006 Denunciar Share Postado Dezembro 5, 2006 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Prof. Jonatas Postado Dezembro 6, 2006 Autor Denunciar Share Postado Dezembro 6, 2006 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 FunctionNa 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,5Então quando tiver um nomero antes de 0,5 tipo 12,4892 irá arredondar para 12Se o numero for 12,51235 irá arredondar para 13Espero ter ajudado alguém aí.Té +Se o moderador quiser pode fechar o tópico, valeu galeraaaaaa ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Gerson - Postado Fevereiro 7, 2007 Denunciar Share Postado Fevereiro 7, 2007 Experimente:=Arred((2000)/([dimensãoL])) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Sidnei -- Postado Março 5, 2008 Denunciar Share Postado Março 5, 2008 valeuuuu a função deu certo, nunca mais sofrerei com isso.Abcs Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Prof. Jonatas
Galera eu tenho um campo dinâmico em um formulário do access.
Este campo execulta se seguinte função:
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 para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.