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]Arredondar valor moeda no Access 2013

    Compartilhe

    Coisa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 14
    Registrado : 31/07/2013

    [Resolvido]Arredondar valor moeda no Access 2013

    Mensagem  Coisa em Sab 12 Set - 16:12

    Estou com um problema.

    Tenho um campo moeda no formulário que precisa ser arredondado mas está complicado.

    Eu preciso arredondar o valor para cima sempre que o valor inserido for igual ou superior a 0,50. Se for abaixo o valor deve permanecer.

    Por exemplo:

    Se o usuário inserir 30,50 o valor deve ser arredondado para 31,00

    Se o usuário inserir 30,78 o valor deve ser arredondado para 31,00

    Se o usuário inserir 30,20 o valor deve permanecer 30,20

    Se o usuário inserir 30,45 o valor deve permanecer 30,45

    Arredondar pra cima usando o Round eu até consigo mas quando o valor é abaixo de 0,50 o Round interfere e o valor não permanece...

    Se alguém puder ajudar ficaria grato.


    Última edição por Coisa em Dom 13 Set - 16:25, editado 1 vez(es)

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Arredondar valor moeda no Access 2013

    Mensagem  ahteixeira em Dom 13 Set - 15:19

    Olá, tente algo assim:

    If right(nomeCampo,2) > 49 and right(nomeCampo,2) <=99 Then
    Round ...
    Endif

    Não testado
    Abraço


    Coisa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 14
    Registrado : 31/07/2013

    Re: [Resolvido]Arredondar valor moeda no Access 2013

    Mensagem  Coisa em Dom 13 Set - 16:24

    ahteixeira eu consegui resolver isso.

    Resolvi da seguinte forma:

    Private Sub Comando52_Click()
    If ([P30] - Int([P30])) < 0.5 Then
    Exit Sub
    Else
    P30 = Int([P30]) + 1
    MsgBox [P30]

    End If
    End Sub


    [P30] é o valor a ser arredondado. Funciona direitinho.

    Eu ia colocar como resolvido no tópico mas você respondeu antes. De qualquer forma obrigado pela ajuda.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Arredondar valor moeda no Access 2013

    Mensagem  ahteixeira em Dom 13 Set - 16:34

    Olá, obrigado pelo retorno, os utilizadores do fórum agradecem.
    Entretanto, tinha efectuado aqui um exemplo para testar com o seguinte código:
    Código:
    'ahteixeira 2015 maximoaccess
    Dim casasDecimais As Integer
    casasDecimais = Right(Format(Me.valor, "fixed"), 2)

        If casasDecimais > 49 And casasDecimais <= 99 Then
            'forçar arredondamento x.50 para cima
            If casasDecimais = 50 Then
                Me.valor = Round(Me.valor + 0.1)
            Else
                Me.valor = Round(Me.valor)
            End If
        End If

    Segue ficheiro de exemplo ArredonamentoEspecial.rar

    Abraço

      Data/hora atual: Dom 4 Dez - 16:23