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


2 participantes

    [Resolvido]Gerar "Condições de Pagamentos" automaticamente

    MZapia
    MZapia
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 41
    Registrado : 10/10/2015

    [Resolvido]Gerar "Condições de Pagamentos" automaticamente Empty [Resolvido]Gerar "Condições de Pagamentos" automaticamente

    Mensagem  MZapia 19/8/2017, 20:16

    Amigos, boa tarde.

    Estou desenvolvendo um cadastro de condições de pagamento.

    Segue abaixo o conceito:

    CAMPOS
    Início - Será informado pelo usuário o dia inicial para pagamento após o recebimento do equipamento ou realização do serviço;
    Período - Será o período (quando duas ou mais parcelas) que será somado ao início;
    Qtde - Quantidade de parcelas estabelecidas que fará com que o campo "Período" incremente com o campo "Início".
    Média: Soma dos Períodos/Qtde

    Exemplo:

    Início: 30 dias
    Período: 15 dias
    Qtde: 4 parcelas

    Resultado:
    -> 30 - 45 - 60 - 75

    O que gostaria de fazer e que agora o "bicho pegou"!!!

    a) Deverá ser criado automaticamente o descritivo padrão, separado por uma "/" e finalizado com o a palavra "DDL"

    Com base no exemplo acima - 30/45/60/75 DDL

    b) Deverá ser lançado automaticamente em uma ListBox as datas correspondentes a cada parcela

    Com base no exemplo acima:

    Data de Hoje (Data de Faturamento): 19/08/2017
    Total do Serviço: 1000,00

    Parcela 1 - 18/09/17 - R$ 250,00
    Parcela 2 - 03/10/17 - R$ 250,00
    Parcela 3 - 18/10/17 - R$ 250,00
    Parcela 4 - 02/11/17 - R$ 250,00

    c) Média = 52,50 dias

    Alguém poderia me auxiliar???

    Atenciosamente,
    Marcelo Zapia


    Última edição por MZapia em 25/8/2017, 16:54, editado 1 vez(es)
    avatar
    daygdson
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 20/04/2017

    [Resolvido]Gerar "Condições de Pagamentos" automaticamente Empty Re: [Resolvido]Gerar "Condições de Pagamentos" automaticamente

    Mensagem  daygdson 25/8/2017, 14:44

    Bom dia Marcelo Zapia, tente adaptar este código ao seu projeto, no seu formulário terá que ter os campos para serem preenchidos para que o cálculo possa ser executado, tipo:
    • campo Data() - para partir da data atual, para ser calculado o prazo em dias,

    • caixa de combinação com os prazos em Propriedades >> Dados >> Origem da linha você insere os prazos desejados exemplo: 7 Dias;10 Dias;15 Dias;20 Dias;30 Dias;45 Dias

    • um campo para valor total a ser dividido

    • um campo caso tenha uma entrada então terá que ser subtraido do valor cheio para um campo valor total para ai fazer o cálculo do parcelamento
    • e um tabela especifica para receber estes dados


    Segue o código que utilizo
    Código:

    [color=#0033ff]
    Private Sub seubotao_Click() [color=#00cc00]'Crie um botão no formulário para chamar o Calculo[/color]
    Call Calculo_Parcelas
    End Sub

    Private Function Calculo_Parcelas()[color=#00cc33]'Crie uma função que irá fazer o calculo de das parcelas [/color]
    [color=#00cc33]'   Define variáveis[/color]
        Dim VLPARCELA As Currency, contador As Integer
        Dim DtVencimento As Date, DtAjuste As Date
        Dim bytIni As Byte, bytDias As Byte
        Dim VLENTRADA As Currency
      
      
    [color=#00cc33]'   Verifica se todos os campos necessários ao cálculo estão preenchidos[/color]
            If Me.seuValorTotal > 0 And IsNull(Me.SuaFrmPagameto) = False And _
                 Me.suaParcela> 0 And IsNull(Me.SuaComboPrazo) = False Then
            
            
    [color=#00cc33]'   Recalcula campos do formulário[/color]
            Me.Recalc
            
    [color=#00cc33]'   Apaga parcelamento anterior caso seja recalculado novamente a quantidade de parcelas[/color]

            CurrentDb.Execute ("DELETE * FROM SuaTabela WHERE SeuID = " & Me.SeuID)
            
    [color=#00cc33]'   Atualiza dados do sub formulário [/color]
            Me.seuSubFormulario.Requery
            
    [color=#00cc33]'   Define o valor da parcela, recebendo valor total / pela parcela [/color]
            VLPARCELA = Me.seuValorTotal / Val(Me.suaQtdParcela)
          
    [color=#00cc33]'   Inicializa data de vencimento[/color]
            DtVencimento = Me.suaDatadeAbertura
            
            
    [color=#00cc33]'   define o inicio do contador em 1[/color]
                bytIni = 1
          

    [color=#00cc33]'   EXECUTA O PARCELAMENTO[/color]
            For contador = bytIni To Val(Me.suaparcela)

    [color=#00cc33]'   Define o próximo vencimento[/color]
                DtVencimento = DtVencimento + Val(Me.SeuPrazo)
                DtAjuste = Format(DtVencimento, "dd-mm-yyyy") [color=#00cc33]'Formatação de datas[/color]
                
    [color=#00cc33]'   Inclui parcela na tabela [/color]
                CurrentDb.Execute ("INSERT INTO SuaTabela (SeuID,[SeuVencimento],[suaQtdPArcela],[SeuValorPArcela],[Demais campos]) " & _
                    "VALUES (" & Me.SeuID & ",#" & Format(DtAjuste, "mm-dd-yyyy") & "#,'" & Trim(contador) & "/" & Trim(Val(Me.suaQtdPArcela)) & "','" & SeuValorParcela& "','" & DemaisCampos & "')")
            
    [color=#00cc33]'   Próximo  contador [/color]
            Next contador

    [color=#00cc33]'   FINALIZA PARCELAMENTO[/color]
        End If
        
    [color=#00cc33]'   Atualiza dados do sub formulário[/color]
        Me.SeuSubFormulário.Requery
        
        
        End Function [color=#00cc33]'Encerra função[/color]


    [/color]

    Espero que te ajude, bons estudos !

      Data/hora atual: 28/3/2024, 11:24