MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

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 2015, 20: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 2015, 20:25, editado 1 vez(es)
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Arredondar valor moeda no Access 2013

    Mensagem  ahteixeira em Dom 13 Set 2015, 19: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 2015, 20: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.
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Arredondar valor moeda no Access 2013

    Mensagem  ahteixeira em Dom 13 Set 2015, 20: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: Sab 24 Jun 2017, 06:16