MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Casas decimais via VBA

    Compartilhe

    lukdogdog
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 21/06/2012

    [Resolvido]Casas decimais via VBA

    Mensagem  lukdogdog em Sex 11 Out 2013, 23:05

    Olá pessoal do Forum, saudações.
    Tenho uma dúvida quanto a sua programação, e se é possível desenvolver, pois pesquisei na internet e não encontrei algo do tipo.

    É possível alterar a quantidade de casas decimais para exibição no formulário via código VBA?
    Eu achei exemplos desse jeito dando opções de arredondar ou truncar, mas agora a dúvida é, teria como eu definir se quero trabalhar com duas ou três casas decimais

    Ex:1° crio um módulo global com as definições, que não tenho ideia de como fazer. rsrsrs
       2° crio um formulário dando opções de casas decimais com Checkbox
           Trabalhar com duas Casas decimais? -> e nos campos dos forms será exibido = 0,00
           Trabalhar com três casa decimais? -> e nos campos dos forms será exibido = 0,000
    Assim eu não preciso ficar mudando nos forms campo por campo toda vez quando um cliente preferir trabalhar com duas ou com três casas decimais..

    Rafael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 587
    Registrado : 15/11/2011

    Re: [Resolvido]Casas decimais via VBA

    Mensagem  Rafael Silva em Sab 12 Out 2013, 23:41

    Boa Noite !

    Vai preencher um controle ? Caixa de texto ou algo de tipo ?

    Tente usar o Round

    Round(SeuCampo,2) ' Para 2 casas decimais 0,00
    Round(SeuCampo,3) ' Para 3 casas decimais 0,000



    .................................................................................
    "Nunca abaixe a cabeça para ninguém,
    nem levante o nariz demais, olho no olho já é o suficiente."

    lukdogdog
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 21/06/2012

    Re: [Resolvido]Casas decimais via VBA

    Mensagem  lukdogdog em Seg 21 Out 2013, 21:07

    Então RSilva, o Round vai me arredondar as casas decimais e eu teria que defini-las nos campos a quantidade de casas decimais, a minha ideia era escolher exibir o numero de casas decimais via código VBA..
    Por padrão ele exibiria duas casas decimais nos campos, "0,00" e ao selecionar o checkbox exibiria três casas decimais no campo "0,000".
    Alguém teria alguma ideia de como fazer essa proeza em VBA?

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Casas decimais via VBA

    Mensagem  JPaulo em Seg 21 Out 2013, 21:34

    Você pode usar duas opções,

    Me!SeuCampo.DecimalPlaces =3

    Ou

    Me!SeuCampo.Format = "##,##0.000"



    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    lukdogdog
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 21/06/2012

    Re: [Resolvido]Casas decimais via VBA

    Mensagem  lukdogdog em Ter 22 Out 2013, 20:23

    Isso JPaulo, funcionou, porem fazendo os testes deparei com um probleminha
    quando eu coloco os campos pra exibir duas casas decimais por exemplo:
    o preço do produto é:
    Custo: 2,20
    Lucro: 58 %
    Venda: com 3 casas decimais 3,476, com 2 casas decimais 3,48
    se for vender 100 unidades com 2 casas decimais ficaria assim, 347,60 daí estaria errado deveria ser 348,00
    estou agora quebrando a cabeça pra achar uma forma de resolver e arredondar
    usei um exemplo seu mesmo olhando outro tópico com a função trunccc
    e com 2 casas decimais o valor de venda fica 3,47 e não 3,48.
    Se eu usar Int será que resolve? vou fazer esse teste!

    Mais uma dúvida.. será que seria possível fazer essa função num módulo global, pra não ter que escrever código por código em cada formulário? ou é isso mesmo?

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Casas decimais via VBA

    Mensagem  JPaulo em Ter 22 Out 2013, 20:41

    Com duas casas decimais, arredonda para cima sempre que passar o 0,5

    Veja se ajuda,

    [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    lukdogdog
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 21/06/2012

    Re: [Resolvido]Casas decimais via VBA

    Mensagem  lukdogdog em Qua 23 Out 2013, 14:29

    Vou analisar o artigo e depois retorno..
    Obrigado pela ajuda JPaulo.

    lukdogdog
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 21/06/2012

    Re: [Resolvido]Casas decimais via VBA

    Mensagem  lukdogdog em Qui 21 Nov 2013, 12:47

    Certinho JPaulo, obrigado pela ajuda..
    resolvi meu problema com as casas decimais agora o usuario que estiver utilizando o sistema pode escolher se quer duas ou tres casas decimais..
    Obrigado pela força.

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Casas decimais via VBA

    Mensagem  JPaulo em Qui 21 Nov 2013, 13:15

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    lukdogdog
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 21/06/2012

    Re: [Resolvido]Casas decimais via VBA

    Mensagem  lukdogdog em Qua 04 Dez 2013, 23:25

    Olá JPaulo. retornando a respeito dessa dúvida, fiz o seguinte metodo

    criei uma tabela casasdecimais
    dois campos nela no formato SIM/NAO
    CD2, CD3
    criei um módulo global com o seguinte código

    Function Decimais(x)
    if dlookup("CD2","casasdecimais","") = -1 then
    decimais = format(Round(x ,2), "#,##0.00")
    end if
    if dlookup("CD3","casasdecimais","") = -1 then
    decimais = format(Round(x ,3), "#,###0.000")
    end if
    end function
    ele arredonda e exibe a quantidade de casas decimais certinho sem esconder numeros e somatório com diferenças.

    basta colocar numa consulta: Decimais(meucampo)

    Obrigado pela ajuda.

    sds

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Casas decimais via VBA

    Mensagem  JPaulo em Qui 05 Dez 2013, 12:05

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

      Data/hora atual: Qui 08 Dez 2016, 00:07