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]Calcular Parcelas Atrasadas

    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    [Resolvido]Calcular Parcelas Atrasadas Empty [Resolvido]Calcular Parcelas Atrasadas

    Mensagem  Misson Lira 18/1/2017, 19:08

    Boa tarde!

    Olá Pessoal! queria saber como faço para calcular uma parcela atrasada.

    Faço a venda do produto, entao pego esse valor total da venda e divido para o cliente, 10x com a primeira parcela para o dia 17/01/2017.
    Quando o cliente vem efetuar a quitação da prestação no dia 18/01/2017 ele esta um dia atraso, entao gostaria quando for fazer o pagamento o valor  da parcela dele vai esta reajustado. E cada dia vai sendo calculado o juro diário e juro mensal e anual ate que o cliente faça o pagamento.


    tenho esses campo na minha TBL - sendo que esse campos são preenchido com os campos data1parcela juro diario Juromensal e Multa QTDParcela
    Qtdparcela - Em quantas vezes o cliente dividiu o valor da compra
    DataParcela - data final da parcela
    ValorParcela - valor da parcela
    juroDiario    - juro diario por atraso
    JuroMensal  - juro mensal por atraso
    Multa          - multa por atraso esse valor seria o mesmo, nao importa o tempo de atraso
    ValorPago    - valor que o cliente pagou, esse campo ele é automático quando quito a prestação o valor parcela fica nesse campo
    DataPagemnto - data que o cliente pagou
    Quitar            - esse campo ele é uma caixa de opção Sim/Nao, entao quando clico nele ele colocar a Data do sistema =  DataPagamento e ValorParcela = ValorPago, ai onde ta! gostaria de quando clica nesse campo ele observasse se a prestação esta em atraso, pois se tiver o valor da prestação vai receber os valores dos juros e multa.

    Desde ja Agradeço pela força!
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Calcular Parcelas Atrasadas Empty Calcular Parcelas Atrasadas

    Mensagem  CassioFabre 19/1/2017, 11:30

    Bom dia,

    Vou tentar te ajudar sem o seu exemplo, talvez fique algum buraco e a gente vai tentando preencher ao decorrer do processo. Eu nao sei se o seu formulário é acoplado ou não à tabela, vou supor que seja (algo que eu nao gosto muito), então fique atento aos nomes dos campos.

    Tudo que vou falar, coloque no evento Após Atualizar do campo Quitar do formulário.

    Suponho que a taxa de juros seja uma porcentagem do valor da parcela multiplicada pelo quantidade de dias ou meses de atraso (vou supor aqui 2% nos dois casos). Então só é preciso retornar o valor de quantos dias e meses de atraso voce tem . Nesse caso, utiliza-se a função DateDiff() ( https://www.techonthenet.com/access/functions/date/datediff.php ) para nos retornar esses valores.

    Código:
    If quitar = true then
        Dim diasDiff, mesesDiff As Integer
        
        If DataPagamento > DataParcela Then
            diasDiff = DateDiff("d", DataParcela, DataPagamento)
            mesesDiff = DateDiff("m", DataParcela, DataPagamento)
            
            juroDiario = ((valorparcela * 2) / 100) * diasDiff
            juroMensal = ((valorparcela * 2) / 100) * diasDiff
        End If

        'agora é só fazer o somatorio normal dos campos
    end if

    Caso não de certo, poste a parte do sistema que precisa fazer isso, vai ser bem mais fácil pra ajudar.

    Abraço.
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    [Resolvido]Calcular Parcelas Atrasadas Empty Re: [Resolvido]Calcular Parcelas Atrasadas

    Mensagem  Misson Lira 21/1/2017, 20:35

    Boa tarde meu nobre!!!1

    segue ai o arquivo do Banco de dados.
    Anexos
    [Resolvido]Calcular Parcelas Atrasadas AttachmentTeste Quitar Divida Cliente.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (412 Kb) Baixado 65 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8499
    Registrado : 05/11/2009

    [Resolvido]Calcular Parcelas Atrasadas Empty Re: [Resolvido]Calcular Parcelas Atrasadas

    Mensagem  Alexandre Neves 22/1/2017, 18:07

    Boa tarde,
    Abri a bd e não entendi o que pretende


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Calcular Parcelas Atrasadas Empty Calcular Parcelas Atrasadas

    Mensagem  CassioFabre 23/1/2017, 10:17

    Bom dia,

    Como falei na outra mensagem, criei um função para o calculo do juros mensal e diário, considerando 2% para ambos os casos. Voce pode e deve alterar esse valor direto no código, suponho que não seja o que realmente você pratica ai. Ficou da seguinte maneira:

    Código:
    Function calculaAtraso()
        Dim diasAtraso, mesesAtraso
        
        diasAtraso = DateDiff("d", DataParcela, DataPagamento)
        mesesAtraso = DateDiff("m", DataParcela, DataPagamento)
        
        JuroDiario = ((ValorParcela * 2) / 100) * diasAtraso
        Me.JuroMenal = ((ValorParcela * 2) / 100) * mesesAtraso
    End Function

    Coloquei ela no sub formulário. Alterei também na consulta a fórmula que voce fez para calculo do Debito. Na original, voce nao considerou os valores  de juros e multa. Ficou da seguinte forma:

    Código:
    ((Nz([ValorParcela]))+(Nz([JuroMenal]))+(Nz([TBL_MOV_ParcelaVendas.JuroDiario]))+(Nz([TBL_MOV_ParcelaVendas.Multa]))-(Nz([ValorPagoParcela]))) AS Debito

    Alterei também no clique da caixa Quitar o código que já estava para quando for verdadeira:

    Código:
       DataParcelaAviso = "" 'apaga a data de aviso
        DataPagamento = Date 'coloca a data que foi feito o pagamento
        
        If DataPagamento > DataParcela Then
            Call calculaAtraso
        End If
     
        ValorPagoParcela.Value = Debito ' valor da parcela na caixa de pagamento

    Estou enviando o arquivo alterado, adapte às suas necessidades ou pode perguntar.

    Abraço.
    Anexos
    [Resolvido]Calcular Parcelas Atrasadas AttachmentTeste Quitar Divida Cliente.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (529 Kb) Baixado 64 vez(es)
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    [Resolvido]Calcular Parcelas Atrasadas Empty Re: [Resolvido]Calcular Parcelas Atrasadas

    Mensagem  Misson Lira 24/1/2017, 17:58

    Boa Tarde!!

    Gostei muito do seu Exemplo, Mais não conseguir coloca no mu Banco.

    Quis campo vc modificou? Coloquei a formula na consulta e os códigos, mais não esta somando os juros e multa no campo debito, e quando clico no campo quitar ele soma os juros e multa.

    e muito obrigado pela ajuda!
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Calcular Parcelas Atrasadas Empty Calcular Parcelas Atrasadas

    Mensagem  CassioFabre 25/1/2017, 12:14

    Bom dia,

    Essa metodologia foi voce quem pediu. Se quer calcular os juros, antes de quitar as parcelas, é só colocar a função em outro evento ou em algum botão do formulário.

    Abraço.
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    [Resolvido]Calcular Parcelas Atrasadas Empty Re: [Resolvido]Calcular Parcelas Atrasadas

    Mensagem  Misson Lira 25/1/2017, 13:26

    Bom dia !

    Por Favor olhe esse exemplo de compras, no Formulario FRM_MOV_Compras ele tem uma ABA que se chama Dado de Parcelamentos...

    Esse campo mostra como faço o parcelamento das dividas...

    Coloca a data da Primeira parcela, QTD de Parcela, Forma de Parcelamento e Juro Mensal, Juro Diario e Multa, todos esses campo, usuário preenche, e depois o mesmo clica no botão GERAR PARCELA. Com esse valores, sendo valor parcela do total da divida. Então ele gera as parcelas.

    Agora vc me deu o exmplo usando 2%, tentei de varias formas muda, mais não to conseguindo. Seu exemplo ta muito bom, mais teria como vc me ajuda? no caso de dois 2% seria o valor que o usuário colocar.



    Obrigado pela ajuda
    Anexos
    [Resolvido]Calcular Parcelas Atrasadas AttachmentTeste de Quitar Compras.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (191 Kb) Baixado 47 vez(es)
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Calcular Parcelas Atrasadas Empty Calcular Parcelas Atrasadas Responder

    Mensagem  CassioFabre 25/1/2017, 15:40

    Boa tarde,

    Infelizmente o Access que tenho aqui não abre especificamente este formulário, minha versão é inferior à versão 14, mínima para abri-lo. Mas vou tentar te ajuda. Vou falar apenas da guia "Dados de Parcelamento".

    Vi que você tem os campos Juros Mensal, Diário e Multa. Olhando o código do botão Gerar Parcela, percebi que você passa os valores desses campos para o subformulário, ou seja, esses valores são aqueles que serão somados ao valor original da parcela para gerar o valor reajustado em caso de atraso no pagamento. Isso é claramente errado. Podemos ver duas situações pra você: ou você pratica uma alíquota fixa de juros e multa, ou o usuário do sistema vai informar esse valor caso a caso.

    No primeiro caso, voce teria que ter esse valor armazenado em alguma tabela e poderia reajustá-lo através de um formulário.

    No segundo, você pode usar esses campos desacoplados do formulário e fazer o usuário informar qual vai ser a alíquota de juros e multa para aquela compra específica. Nesse caso, voce precisa ter armazenado em algum lugar esses valores juntamente com o código da venda (ou número da NF).

    Agora para o calculo das parcelas em atraso, eu sugiro que tenha um botão "Calcular juros e multa de parcelas em atraso" ou algo assim, para disparar a função que passei no meu exemplo e não fazer o sistema carregar isso a cada vez que você alterar o registro ou algo assim. Mas isso pode ser feito de diversas maneiras, você pode analisar qual vai se aplicar melhor no seu caso.

    Quanto aos "2%" que me referi, alterá-lo é bem simples. Observe o trecho abaixo da função calculaAtraso:
    Código:
       JuroDiario = ((ValorParcela * 2) / 100) * diasAtraso
        Me.JuroMenal = ((ValorParcela * 2) / 100) * mesesAtraso

    É só uma questão de perceber a matemática: (ValorParcela * 2) / 100 esse 2/100 é exatamente 0,02 ou 2%. Eu poderia ter escrito ValorParcela *  (2 / 100) que seria absolutamente a mesma coisa. Se voce quisesse usar, por exemplo, 0,5% o trecho acima ficaria: (ValorParcela * 0.5) / 100.

    Então para usar um valor armazenado na tabela basta alterar o trecho de código acima pelo seguinte:
    Código:
       JuroDiario = ((ValorParcela * DLookup("juroDiario", "suaTabela", "codigoCompra = " & txtCodigoCompra & "")) / 100) * diasAtraso
        Me.JuroMenal = ((ValorParcela * DLookup("juroMenal", "suaTabela", "codigoCompra = " & txtCodigoCompra & "")) / 100) * mesesAtraso

    Obviamente fazendo as devidas alterações nos campos do DLookup.

    Se esse valor estiver armazenado em algum campo do fomulário basta usar:
    Código:
       JuroDiario = ((ValorParcela * txtJuroDiario) / 100) * diasAtraso
        Me.JuroMenal = ((ValorParcela * txtJuroMenal) / 100) * mesesAtraso

    Espero que tenha entendendo a ideia da coisa. Qualquer duvida, só falar.

    Abraço.
    avatar
    Misson Lira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 335
    Registrado : 01/12/2016

    [Resolvido]Calcular Parcelas Atrasadas Empty Re: [Resolvido]Calcular Parcelas Atrasadas

    Mensagem  Misson Lira 30/1/2017, 11:43

    ok!

    Conteúdo patrocinado


    [Resolvido]Calcular Parcelas Atrasadas Empty Re: [Resolvido]Calcular Parcelas Atrasadas

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 25/11/2024, 04:05