MaximoAccess

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

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

    [Resolvido]Arredondamento de preço

    Krauss
    Krauss
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 195
    Registrado : 23/12/2011

    [Resolvido]Arredondamento de preço Empty [Resolvido]Arredondamento de preço

    Mensagem  Krauss em 17/11/2020, 19:32

    Boa tarde Srs!

    Será que poderiam me ajudar nessa?

    Preciso que, ao informar o precoCusto, o sistema me informe no campo precoSugerido o preço de custo x4 (vezes 4) e caso o resultado dê um valor picado, ele arredonde para cima ou para baixo, sempre com final 90 centavos. Por exemplo, comprei um produto por 9,90, que multiplicado por 4 dá 39,60, mas preciso que retorne 39,90 e se caso desse 39,49, arredondasse para baixo em 38,90.

    Uso uma fórmula no excel que dá certinho, mas não consegui converter isso em VBA no access. Segue abaixo a fórmula que uso no Excel..

    =SE(Soma([precoCusto]-Int([precoCusto]))<=0,5;(Int([precoCusto]*4))-0,1;(Int([precoCusto]*4))+0,9)


    .................................................................................
    Trabalho com Access 2013

    "A dúvida é o princípio da sabedoria"
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Arredondamento de preço Empty Re: [Resolvido]Arredondamento de preço

    Mensagem  ahteixeira em 18/11/2020, 11:17

    Olá Bruno Krauss,

    Troque o SE por IIF e teste:

    =IIF(Soma([precoCusto]-Int([precoCusto]))<=0,5;(Int([precoCusto]*4))-0,1;(Int([precoCusto]*4))+0,9)

    ou assim
    =IIF(([precoCusto]-Int([precoCusto]))<=0,5;(Int([precoCusto]*4))-0,1;(Int([precoCusto]*4))+0,9)

    Abraço
    Krauss
    Krauss
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 195
    Registrado : 23/12/2011

    [Resolvido]Arredondamento de preço Empty Re: [Resolvido]Arredondamento de preço

    Mensagem  Krauss em 18/11/2020, 18:38

    Salve ahteixeira!!

    Então cara, eu já havia tentado assim, mas a nomenclatura e os critérios do Access possuem algumas diferenças do Excel. Na parte do "<=0,5" ele diz que "Erro de compilação. Era esperado: )". Detalhe, no Excel eu uso essa fórmula no campo "precoSugerido", já no Access eu preciso que fique no evento "Após atualizar" do campo "precoCusto".


    .................................................................................
    Trabalho com Access 2013

    "A dúvida é o princípio da sabedoria"
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Arredondamento de preço Empty Re: [Resolvido]Arredondamento de preço

    Mensagem  ahteixeira em 19/11/2020, 12:57

    Olá Bruno Krauss,

    Teste assim:
    Código:
    IIf(([precoCusto] - Int([precoCusto])) <= 0.5, (Int([precoCusto] * 4)) - 0.1, (Int([precoCusto] * 4)) + 0.9)

    Se não funcionar partilhe a base de dados com pequeno exemplo para se testar.

    Abraco
    Krauss
    Krauss
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 195
    Registrado : 23/12/2011

    [Resolvido]Arredondamento de preço Empty Re: [Resolvido]Arredondamento de preço

    Mensagem  Krauss em 19/11/2020, 18:02

    Olá, infelizmente não funfou.

    Segue BD resumido. Gostaria que, após informar o "Preço Custo", o sistema atualizasse o campo "Preço Sugerido" com base nos critérios do código que passei.

    Obg!
    Anexos
    [Resolvido]Arredondamento de preço AttachmentBD_1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (360 Kb) Baixado 3 vez(es)


    .................................................................................
    Trabalho com Access 2013

    "A dúvida é o princípio da sabedoria"
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Arredondamento de preço Empty Re: [Resolvido]Arredondamento de preço

    Mensagem  ahteixeira em 19/11/2020, 19:15

    Olá Bruno Krauss,

    Alterei o nome dos campos no formulario, coloquei um "x" no ínicio.
    Depois o seguinte código no evento "depois de atualizar":
    Código:
    Private Sub xprecoCusto_AfterUpdate()
        Me.xprecoSugerido = IIf(([xprecoCusto] - Int([xprecoCusto])) <= 0.5, (Int([xprecoCusto] * 4)) - 0.1, (Int([xprecoCusto] * 4)) + 0.9)
    End Sub

    Verifique se é o pretendido, segue o meu teste:
    cld.pt/dl/download/938edc63-b1ba-4ac3-b82d-c1dc69f33fe4/BD_1_rev.zip

    Abraço
    Krauss
    Krauss
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 195
    Registrado : 23/12/2011

    [Resolvido]Arredondamento de preço Empty Re: [Resolvido]Arredondamento de preço

    Mensagem  Krauss em 19/11/2020, 22:01

    Cara deu certinho. Muito obrigado pela ajuda!!!


    .................................................................................
    Trabalho com Access 2013

    "A dúvida é o princípio da sabedoria"
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Arredondamento de preço Empty Re: [Resolvido]Arredondamento de preço

    Mensagem  ahteixeira Ontem à(s) 17:44

    Olá Bruno Krauss,

    Obrigado pelo retorno, o fórum agradece.

    Abraço

      Data/hora atual: 24/11/2020, 09:24