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]Gerador de Parcelas Repetindo Parcelas

    avatar
    GinoBR01
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 03/06/2019

    [Resolvido]Gerador de Parcelas Repetindo Parcelas Empty [Resolvido]Gerador de Parcelas Repetindo Parcelas

    Mensagem  GinoBR01 em 12/8/2019, 13:34

    Bom dia Mestres,

    Tenho um gerado de parcelas que estou tentando adaptar a meu projeto, porém quando mando calcular as parcelas ele o faz, mas duplica as parcelas as vezes mais 1000 vezes, como se o Loop não parasse, segue abaixo o código:


    Código:
    Private Function Calc_parc()
    On Error Resume Next

    Dim rs As DAO.Recordset
    Dim rs1 As DAO.Recordset
    Dim Rs2 As DAO.Recordset
    Dim I As Byte, X As Integer, StrParc As String

    Set rs = CurrentDb.OpenRecordset("select * from tblPagamentosParcelas where CodPagto = " & Me.CodPagto & "")
    Set rs1 = CurrentDb.OpenRecordset("select * from tblPagamentosParcelas where CodPagto = " & Me.CodPagto & " and quitada = -1")
    Set Rs2 = CurrentDb.OpenRecordset("SELECT CodPrazoPagtoDet, CodPrazoPagto, NDias FROM tblPrazoPagamentoDet WHERE CodPrazoPagto = " & Me.cboCodPrazoPagto.Column(0) & ";")
    If Not rs1.EOF Then
       MsgBox "Este Pagamento ja foi parcelado e cont?m pagamentos efetuados. " & Chr(10) & "" _
       & "N?o ser? possivel refazer parcelamento !!!", vbCritical
       Set rs1 = Nothing
    Exit Function
    End If

    If Not rs.EOF Then
     If MsgBox("J? existe um parcelamento para este Pagamento !!! " & Chr(10) & "" _
       & "Deseja substituir pelos novos valores? ", vbYesNo + vbExclamation + vbDefaultButton1, "Parcelamento") = vbYes Then
       DoCmd.SetWarnings False
       DoCmd.RunSQL "Delete * from tblPagamentosParcelas where CodPagto = " & Me.CodPagto & ""
       DoCmd.SetWarnings True
       Else
       Exit Function
     End If
    End If

    If Not ValorParcial <= 0 Then
    Do While Not Rs2.EOF
    For I = 1 To Me.N?DeParcelas
    With rs
       .AddNew
           !CodPagto = Me.CodPagto
           !N?DeParcelas = I & "/"
           !N?DeParcelas = I & "/" & Me.N?DeParcelas
           !ValorDasParcelas = Me.ValorDasParcelas
     
       If Me.chkEntrada = False Then
       !DataDoVencto = DateAdd("d", Rs2!NDias, Format(Me.DataFaturamento, "dd/mm/yyyy"))
       
       Else
       !DataDoVencto = DateAdd("m", I - 1, (Me.DataFaturamento))
        Me.cboCodPrazoPagto = "30 Dias"
       End If
       
       !DataPrevPagto = !DataDoVencto
     
      .Update
    End With
    Rs2.MoveNext
    Next I
    Loop

    Else
       DoCmd.SetWarnings False
       DoCmd.RunSQL "Delete * from tblPagamentosParcelas where CodPagto = " & Me.CodPagto & ""
       DoCmd.SetWarnings True
    End If

    rs.Close
    Set rs = Nothing
       Me.frmPagamentosParcelas.Requery
       MsgBox "Valores inseridos com sucesso!!!"
       Me.Fornecedor.SetFocus
       
    Exit_Calc_Parc:
       Exit Function
       
    Err_Calc_Parc:
       MsgBox Err.Description
       Resume Exit_Calc_Parc
       
       Me.Fornecedor.SetFocus

    End Function
    avatar
    claudiojsramos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 01/09/2011

    [Resolvido]Gerador de Parcelas Repetindo Parcelas Empty Gerador de parcelas Repetindo Parcelas

    Mensagem  claudiojsramos em 12/8/2019, 15:01

    Seja bem vindo amigo, bom, não, não vou tentar corrigir seu código, porém, tenho em um de meus sistema, um código que gera automaticamente parcelas a pagar. Seguem em o referido código, veja se lhe ajuda.

    Eu coloquei ele dentro de um botão (evento ao clicar) uso apenas o formulário principal e um subformulário para as parcelas.

    Código:

    Dim I As Integer
    Dim StrDateAdd As Date
    Dim StrValorParc As Double
    Dim Parc As String
    Dim Tipo As String
    Dim Descri As String

    StrValorParc = Me.Valor_Doc / Me.Parcelas
    For I = 1 To Me.Parcelas
    StrDateAdd = DateAdd("m", I - 1, Format(Me.DtVencimento, "dd/mm/yyyy"))
    StrParc = I & "/" & Me.Parcelas
    Descri = Me.Historico.Value
    Tipo = Me.Tipo.Value

    CurrentDb.Execute "INSERT INTO Parcelas(IdConta,TipoConta,Descricao,CpData,CpValor)" _
                    & " Values(""" & Me.IdConta.Value & """, """ & Tipo & """, """ & Descri & """, #" & Format(StrDateAdd, "mm/dd/yyyy") & "#, """ & StrValorParc & """);"
    Next I
    'Status.Value = "PARCELAS GERADAS"
    Me.Parcelamento.Requery
    MsgBox ("AS PARCELAS FORAM GERADAS COM SUCESSO")
    'Me.lstParcelas.Requery
    Anexos
    [Resolvido]Gerador de Parcelas Repetindo Parcelas AttachmentParcelas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (48 Kb) Baixado 9 vez(es)
    avatar
    GinoBR01
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 03/06/2019

    [Resolvido]Gerador de Parcelas Repetindo Parcelas Empty Re: [Resolvido]Gerador de Parcelas Repetindo Parcelas

    Mensagem  GinoBR01 em 13/8/2019, 04:39

    Boa noite Claudio,

    Devido a minha estrutura não consegui adaptar vosso código, mas agradeço a ajuda e o aprendizado.
    avatar
    claudiojsramos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 01/09/2011

    [Resolvido]Gerador de Parcelas Repetindo Parcelas Empty Gerador de parcelas Repetindo Parcelas

    Mensagem  claudiojsramos em 13/8/2019, 04:51

    Espero que consiga resolver seu problema meu amigo. Boa noite.

    Atenciosamente,

    Cláudio Ramos
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    [Resolvido]Gerador de Parcelas Repetindo Parcelas Empty Re: [Resolvido]Gerador de Parcelas Repetindo Parcelas

    Mensagem  Celso Roberto em 13/8/2019, 15:04

    Olá..

    Este código foi eu que adaptei aproveitando o exemplo do nosso mestre JPaulo e deixei no Repositório de exemplos.
    Não vejo erros no código com exceção do caracter " ? " em algumas linhas do seu código como abaixo.

    !N?DeParcelas = I & "/"
    !N?DeParcelas = I & "/" & Me.N?DeParcelas


    Tente corrigir e teste, mas o ideal seria postar a sua base de dados só com as tabela, consultas e formulários envolvidas para podermos analisar e encontrar o erro

    veja o exemplo neste tópico funcionando corretamente

    http://www.maximoaccess.com/t28063-prazos-de-pagamento-nova-atualizacao-no-codigo-do-mestre-jpaulo-parcelas_2008_old

    Aguardo retorno


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    GinoBR01
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 03/06/2019

    [Resolvido]Gerador de Parcelas Repetindo Parcelas Empty Re: [Resolvido]Gerador de Parcelas Repetindo Parcelas

    Mensagem  GinoBR01 em 13/8/2019, 18:42

    Boa tarde Celso,

    Exatamente este projeto que estou adaptando ao meu, mas esta gerando muitas parcelas.
    Esse erros estão no nome do campo que se chama "NºDeParcelas"
    Creio que seja por conta desse caracter especial "º"

    Testei o arquivo que me indicou e esta ocorrendo o mesmo erro!



    Obrigado
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    [Resolvido]Gerador de Parcelas Repetindo Parcelas Empty Re: [Resolvido]Gerador de Parcelas Repetindo Parcelas

    Mensagem  Celso Roberto em 13/8/2019, 19:33

    Olá..

    Me de detalhes de como chegar neste erro no meu exemplo para eu verificar e corrigir



    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    GinoBR01
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 03/06/2019

    [Resolvido]Gerador de Parcelas Repetindo Parcelas Empty Re: [Resolvido]Gerador de Parcelas Repetindo Parcelas

    Mensagem  GinoBR01 em 13/8/2019, 20:04

    Celso,

    O erro na verdade, não é um erro. Se deixar o campo Prazo de Pagamento em branco ocorre. Com ele preenchido, o processo ocorre normalmente. Eu estava deixando o campo em branco e colocando a quantidade de parcelas manualmente.
    Só coloquei obrigatoriedade no preenchimento do campo para não esquecer mais e tudo certo.

    Muito obrigado pela atenção.

    Agora tudo normal.
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    [Resolvido]Gerador de Parcelas Repetindo Parcelas Empty Re: [Resolvido]Gerador de Parcelas Repetindo Parcelas

    Mensagem  Celso Roberto em 13/8/2019, 20:56

    Olá..

    Realmente este campo não pode ficar em branco e o numero de parcelas deve vir pré definido do formulário de prazos de pagamento.

    Na realidade este campo de números de parcelas deve ficar bloqueado para edição e também não receber o foco.

    Mas em testes aqui encontrei outro erro que estou corrigindo e te passo ao terminar, refere-se a caixa de seleção intervalo mensal que em certo momento perde a funcionalidade e gera erro.

    Na verdade este comando não tem sentido, isto pelo simples motivo de que os prazos de pagamentos e números de parcelas devem ser prè definidos como dito acima.

    Se eu quero um parcelamento com números X de parcelas e vencimentos com 30 dias eu devo pré definir na tabela prazos de pagamento e selecionar no campo prazo de pagamento.

    Vou corrigir o código e te retorno

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    [Resolvido]Gerador de Parcelas Repetindo Parcelas Empty Re: [Resolvido]Gerador de Parcelas Repetindo Parcelas

    Mensagem  Celso Roberto em 13/8/2019, 21:35

    Olá...

    Segue novo exemplo com as alterações ditas acima e também com correção nos nomes dos campos (retirado o caracter)

    Qualquer dúvidas retorne


    Abraços
    Anexos
    [Resolvido]Gerador de Parcelas Repetindo Parcelas AttachmentParcelas_2008 _OLD - Teste - Atual.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (47 Kb) Baixado 3 vez(es)


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    Conteúdo patrocinado

    [Resolvido]Gerador de Parcelas Repetindo Parcelas Empty Re: [Resolvido]Gerador de Parcelas Repetindo Parcelas

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/8/2019, 13:04