MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

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

3 participantes

    [Resolvido]Truncar casas decimais

    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 19/4/2016, 21:32

    Boa tarde amigos!

    Preciso truncar as casas decimais em duas casas.
    Exemplo

    Parcela = Total / QuantidadeParcelas

    Parcela = 11,00 / 3

    Parcela = 3,666666666667

    Preciso que o resultado seja

    Parcela = 3,66 (não deve arredondar para 3,67 e também não deverá acumular as casas restantes em cálculos)

    Se alguém puder ajudar fico grato.

    Um grande abraço
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3782
    Registrado : 04/04/2010

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Avelino Sampaio 19/4/2016, 22:36

    Olá!

    Parcela = int((Total * 100) / QuantidadeParcelas)/100

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 21/4/2016, 22:03

    Boa tarde Mestre Avelino!

    O restante do valor será desprezado? ou será utilizado caso eu o utilizo em um cálculo.

    Exemplo

    Parcela = 11,00/3
    Parcela = 3,66

    Total = Parcela * 3
    Total = 10,98

    Ou

    Total = Parcela * 3
    Total = 11,00
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3782
    Registrado : 04/04/2010

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Avelino Sampaio 21/4/2016, 22:50

    Para última parcela vc usa o calculo diferente.  

    ultima parcela = 11,00 - (3.66 * (TotalParcelas-1)) :::> 3,68

    total: 3,66 + 3,66 + 3,68 = 11,00

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 22/4/2016, 00:10

    Boa noite Mestre Avelino!

    É exatamente essa a minha intenção. Porém tenho dúvidas se o resultado será:

    ultima parcela = 11,00 - (3.66 * (TotalParcelas-1))

    ou

    ultima parcela = 11,00 - (3.66666666666667 * (TotalParcelas-1))

    Pois as parcelas vêm de um laço for:

    contasRecValorParc = Int((Me.txtValorApagar * 100) / Me.txtVendasQtdParc) / 100
           
       For I = 1 To Me.txtVendasQtdParc
           rs.AddNew
           rs("vendasCodigo_fk") = Me.txtVendasCodigo
           rs("contasRercParcelas") = I & "/" & Me.txtVendasQtdParc
           rs("contasRecValorParc") = contasRecValorParc
           rs("contasRecVencimento") = DateAdd("m", I - 1, Me.txtVendasVencParc1)
           rs.Update
       Next

    Pretendo fazer um if para contasRecValorParc para a primeira parcela utilizando:

    if I = 1 then
       Parcela = Total - (Parcela * (TotalParcelas-1))

    De qualquer forma vou fazer os testes.
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 22/4/2016, 19:16

    Mestre Avelino!

    Fiz como você orientou, a princípio mostrou os valores certinho, porém o valor acumulado está errado.

    Exemplo:

    343,01 / 3 parcelas

    parcela 1 = 114,35
    parcela 2 = 114,33
    parcela 3 = 114,33

    Total = 343,01

    Porém o valor acumulado para cálculo na parcela 1 está 114,346 e não 114,35. Como resolver este problema?

    parcela - valor pago - débito

    114,35 - 0,00 - 114,346
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3782
    Registrado : 04/04/2010

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Avelino Sampaio 22/4/2016, 21:10

    Olá!

    k = int((343,01 * 100) / 3)/100
    Parcela 1=  k
    Parcela 2 = k
    Parcela 3 = 343,01 - (k * (3-1))

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 22/4/2016, 23:22

    Mestre Avelino!

    Foi exatamente isto que fiz. O valor da parcela aparece certinho. Porém em cálculos o valor não fica truncado, como mostrei na mensagem anterior.

    parcela - valor pago - Saldo

    114,35 - 0,00 = 114,346

    É este o resultado que está dando.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3782
    Registrado : 04/04/2010

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Avelino Sampaio 23/4/2016, 12:26

    Em cálculos aonde?  Relatório, consulta, ...

    Reveja.  Está deixando passar algo.

    Segue um exemplo:

    - entre com os valores sugeridos no formulário e clique em LANÇAR.  
    - veja no relatório os cálculos com valores precisos

    Aguardamos
    Anexos
    [Resolvido]Truncar casas decimais AttachmentcalculoParcelas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (35 Kb) Baixado 39 vez(es)


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 23/4/2016, 16:51

    Boa tarde Mestre!

    Segue anexo o aplicativo. Abra o frmQuitarParcelasB. Valor da parcela 114,35 valor pago 0,00 débito 114,346

    https://www.dropbox.com/s/z19f2q3ljcxth0v/InfoSys.rar?dl=0
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 26/4/2016, 02:47

    Boa noite!
    Alguém teria a solução Final?
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 26/4/2016, 13:50

    Bom dia!
    Me deparei com outro probleminha. Após lançar as parcelas o cliente decide mudar a quantidade de parcelas. Se eu mudar a quantidade e mandar lançar as parcelas, as parcelas anteriores são mantidas. Acho que preciso de um código para verificar se já existem parcelas para esta venda, existindo, as mesmas precisam ser deletadas antes de gerar novas. Como resolvo este problema?
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Celso Roberto 26/4/2016, 21:01

    Boa Tarde Edelson
    Crie um Botão Excluir Parcelas e adapte este código.
    Ele verifica se já existe parcelas pagas, se não existir ele exclui e vc pode gerar nova parcela


    Private Sub ExcluirParcelas_Click()
    If Me.frmPagamentosParcelas!Quitada = -1 Then
    MsgBox "Este Pagamento ja foi Parcelado e contém Pagamentos Efetuados. " & Chr(10) & "" _
    & "Não será possivel refazer parcelamento !!!", vbCritical
    DoCmd.CancelEvent
    Else
    DoCmd.SetWarnings False
    DoCmd.RunSQL "Delete * from tblPagamentosParcelas where CodPagto = " & Me.CodPagto & ""
    DoCmd.SetWarnings True
    Me.frmPagamentosParcelas.Requery
    Me.NomeDoBotãoQueGeraParcelas.SetFocus
    End If

    End Sub



    Espero que ajude


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 27/4/2016, 02:53

    Boa noite Carlos Roberto!
    Obrigado por colaborar. Na verdade eu não preciso verificar se existem parcelas pagas. Preciso verificar apenas se existem parcelas geradas. Caso existam preciso que sejam deletadas para que eu possa gerar novas. Tenho um formulário de vendas onde após selecionar os produtos, tenho um campo com o total da venda e outro campo com a quantidade de parcelas. Após digitar a quantidade de parcelas, clicar no botão gerar parcelas e as mesmas são geradas. Ocorre que se depois de gerar as parcelas o cliente decide mudar a quantidade de parcelas, se eu alterar a quantidade e clicar em gerar parcelas serão geradas novas e as antigas permanecerão. O que preciso é, ao clicar em gerar parcelas, que seja verificado se já existem parcelas para esta venda, caso existam elas devem ser deletadas e novas sejam geradas. Lembrando que o aplicativo está disponível em uma das mensagens anteriores. Se puder dar uma olhada agradeço.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3782
    Registrado : 04/04/2010

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Avelino Sampaio 27/4/2016, 11:56

    Olá!

    Neste seu caso basta usar o DELETE, usando na filtragem (WHERE) o código que identifica de forma exclusiva tais parcelas. No exemplo que ofereci acrescente:

    CurrentDb.Execute "DELETE * FROM tblTeste WHERE Codvenda =" & Me!Texto5 & ";"

    Nota: Faça um backup do sua base de dados antes dos testes.

    É muito comum também o cliente pagar uma ou algumas parcelas e depois não conseguir pagar as restantes. Na negociação é feita um novo parcelamento das parcelas em aberto. Em algum momento do seu projeto será necessário implementar esta alternativa.

    Sucesso!









    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 27/4/2016, 13:34

    Obrigado amigo!
    Vou fazer os testes e retorno.
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Celso Roberto 27/4/2016, 16:49

    Caro Edelson,
    Não consegui baixar seu aplicativo "gera mensagem de não reconhecido",
    mas siga o que o mestre Avelino informou que dará certo.
    siga também a instrução que ele passou sobre a renegociação de saldo devedor, pois no meu entender um projeto que gere parcelamentos tem que possibilitar a renegociação como ele informou.
    Lembrando também que na atual situação financeira que estamos vivendo pode ser necessário também a baixa parcial de parcelas, em casos que certo cliente precise pagar parcela com valor menor e se gere o saldo da própria parcela com juros ou não para uma outra data de vencimento.
    Digo porque precisei implementar em um projeto e contei com a ajuda do Mestre Alexandre Neves a tempos atrás.

    Abraços e como diz o Mestre Avelino.... Sucesso!!


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 28/4/2016, 17:33

    Boa tarde amigos!

    Fiz como o Mestre Avelino orientou e deu certo. As parcelas são geradas sem duplicidade. O que ainda tenho dúvida é sobre a parcela com o valor diferente das demais que apesar de estar aparecendo o valor com 2 casas decimais, ao clicar no valor da mesma mostra 3 casas e valor diferente, 114,35 / 114,346. Não sei se isso vai interferir quando eu implementar o Livro Caixa, se a soma das parcelas será com 114,35 ou 114,346. (frmQuitarParcelasB).

    Mais uma vez agradeço pela colaboração. Vou dar o tópico como resolvido. Se alguém tiver uma solução para essa dúvida por favor poste. Ficarei agradecido. Um grande abraço. Segue o link do aplicativo.

    https://www.dropbox.com/s/6fpu6w7qju9l7ls/InfoSys.accdb?dl=0
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Celso Roberto 28/4/2016, 20:31

    Boas...
    Verifique a formatação do campo em tabelas, consultas e forms que grava o resultado
    eles tem que estar formatado para 2 casa decimais.
    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 29/4/2016, 14:30

    Bom dia Celso!
    Todos os objetos formatados com 2 casas. Porém ao clicar no valor no formulário (frmQuitarParcelasB), no valor aparece 3 casas. Segue o link do aplicativo, se puder dar uma olhada.

    https://www.dropbox.com/s/z19f2q3ljcxth0v/InfoSys.rar?dl=0
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Celso Roberto 29/4/2016, 21:55

    Boas

    Como disse acima não consigo abrir seu bd "gera mensagem de .accdb não reconhecido",
    eu uso access 2007
    faça o seguinte se seu banco de dados for grande gere cópia em 2007 só com as tabelas, consultas e forms envolvidos e anexe aqui em formato zip.

    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 30/4/2016, 17:41

    Bom dia Celso!

    Uso o Access 2010 e o banco já foi criado com a opção Access 2007. Existe outra forma?

    De qualquer forma segue anexo um arquivo .zip

    https://www.dropbox.com/s/kv5717q6ct9pcwr/InfoSys.zip?dl=0


    Última edição por Edelson Vieira em 30/4/2016, 18:12, editado 1 vez(es)
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 30/4/2016, 18:07

    Boa tarde!

    Estive pensando sobre a questão do saldo devedor de parcelas. Estou com dificuldades para implementar, não quero criar um novo parcelamento, meu desejo é criar uma opção para receber o saldo devedor da parcela ou parte do saldo devedor. O que me sugerem? Ou devo abrir outro tópico para este assunto?
    Celso Roberto
    Celso Roberto
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1076
    Registrado : 01/03/2014

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Celso Roberto 3/5/2016, 02:58

    Boa Noite,

    Para resolver o problema das casas decimais quando voce clica
    substitua o seu código do qdrCondicao por este

    Private Sub qdrCondicao_AfterUpdate()
    If qdrCondicao.Value = 1 Then
    Me.txtDesconto.Value = Me.txtVendasTotal * Me.txtPercDesc / 100
    Me.txtDesconto.Value = Round(Me.txtDesconto.Value, 2)
    Me.txtDesconto.Requery
    Else
    Me.txtDesconto.Value = 0
    Me.txtPercDesc.Value = 0
    End If
    Me.VendasTotal.Value = Me.txtValorApagar.Value
    End Sub

    Se com código acima resolver o primeiro problema de este como resolvido

    quanto a questão do recebimento do saldo devedor, primeiro defina o projeto de como você quer
    e abra outro tópico como quitar parcelas para que outros colegas também possam ajudar e que outros possam se usufruir do resultado

    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Edelson Vieira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 207
    Registrado : 22/08/2015

    [Resolvido]Truncar casas decimais Empty Re: [Resolvido]Truncar casas decimais

    Mensagem  Edelson Vieira 4/5/2016, 02:54

    Boa noite Celso!

    Acredito que com este código que me passou o primeiro problema tenha sido resolvido. Vou abrir outro tópico para o outro problema.
    Mais uma vez agradeço a colaboração e espero poder contar novamente com vocês.
    Valeu!
    Obrigado

      Data/hora atual: 6/10/2022, 09:29