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]Ajuste código de Parcelamento

    Compartilhe

    colaboradorpa
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 63
    Registrado : 16/07/2014

    [Resolvido]Ajuste código de Parcelamento

    Mensagem  colaboradorpa em Sab 06 Set 2014, 22:20

    Boa noite!

    Preciso da ajuda dos nobres colegas, pra fazer um ajuste em um código que peguei aqui no fórum, infelizmente não recordo o nome da pessoa que o criou, mas ficou excelente, diga-se de passagem.
    Esse código faz um parcelamento de despesas:

    Tenho os formulários:
    frm_Despesas
    Campo: Entrada       Tipo de dados: Sim/Não

    frm_DetalheDespesasSub
    Campo: Quitado      Tipo de dados: Sim/Não

    O que eu gostaria:
    Quando eu marcar o campo Entrada e clicar no botão btnCalcula , quero que marque a caixa de seleção do campo Quitado automaticamente, ou seja, caso a despesa seja inserida com uma entrada, a mesma vai ser dado baixa no ato do lançamento.

    Eis o código:


    Private Sub btnCalcula_Click()
       
    '   Define variáveis
       Dim VlParcela As Currency, Contador As Integer
       Dim DtVencimento As Date, DtAjuste As Date
       Dim bytIni As Byte, bytDias As Byte

    '   Verifica se todos os campos necessários ao cálculo estão preenchidos
       If Me.ValorDaDespesa > 0 And IsNull(Me.DtDespesa) = False And _
           Me.QtdParcelas > 0 And IsNull(Me.Intervalo) = False Then
           
    '   Recalcula campos do formulário
           Me.Recalc

    '   Apaga parcelamento anterior
           CurrentDb.Execute ("DELETE * FROM tbl_DetalheDespesas WHERE IdDaDespesa = " & Me.IdDaDespesa)
           
    '   Atualiza dados do sub formulário
           Me.frm_DetalheDespesasSub.Requery

    '   Define o valor da parcela
           VlParcela = Me.ValorDaDespesa / Me.QtdParcelas
           
    '   Inicializa data de vencimento
           DtVencimento = Me.DtDespesa

    '   Verifica se haverá parcela a ser paga no ato da venda (Entrada)
           If Me.Entrada Then

    '   Havendo, insere a primeira parcela na tabela e define o inicio do contador em 2
               CurrentDb.Execute ("INSERT INTO tbl_DetalheDespesas (IdDaDespesa,NumeroParcela,DtVenc,ValorDaParcela, DtPgto "preciso inserir aqui o campo Quitao") " & _
                   "VALUES (" & Me.IdDaDespesa & ",1,'" & DtVencimento & "','" & VlParcela & "',' " & DtVencimento & " ' "e aqui o valor que ele receberá")")
                 
               bytIni = 2
           Else

    '   Caso contrário, define o inicio do contador em 1
               bytIni = 1
           End If

    '   Executa o parcelamento
           For Contador = bytIni To Me.QtdParcelas

    '   Define o próximo vencimento
               DtVencimento = DtVencimento + Me.Intervalo
               DtAjuste = DtVencimento

    '   Ajusta vencimento para dia útil
               For bytDias = 1 To 7
                   Select Case DatePart("w", DtAjuste)
                       Case Is = 1
                           DtAjuste = DtAjuste + 1
                       Case Is = 7
                           DtAjuste = DtAjuste + 2
                   End Select
                   If ÉFeriado(DtAjuste) Then
                       DtAjuste = DtAjuste + 1
                   End If
               Next

    '   Inclui parcela na tabela
               CurrentDb.Execute ("INSERT INTO tbl_DetalheDespesas (IdDaDespesa,NumeroParcela,DtVenc,ValorDaParcela) " & _
                   "VALUES (" & Me.IdDaDespesa & "," & Contador & ",'" & DtAjuste & "','" & VlParcela & "')")
           
    '   Retorna ao contador
           Next Contador

    '   Finaliza o parcelamento
       End If
       
    '   Atualiza dados do sub formulário
       Me.frm_DetalheDespesasSub.Requery

    End Sub





    O ajuste que eu quero fazer, acredito que seria nesta linha de comando:

    '   Verifica se haverá parcela a ser paga no ato da venda (Entrada)
           If Me.Entrada Then

    '   Havendo, insere a primeira parcela na tabela e define o inicio do contador em 2
               CurrentDb.Execute ("INSERT INTO tbl_DetalheDespesas (IdDaDespesa,NumeroParcela,DtVenc,ValorDaParcela, DtPgto 'Inserir aqui o campo Quitado) " & _
                   "VALUES (" & Me.IdDaDespesa & ",1,'" & DtVencimento & "','" & VlParcela & "',' " & DtVencimento & " ' 'E aqui o valor que ele receberá)")

    Agradeço se puderem me ajudar.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Ajuste código de Parcelamento

    Mensagem  Alexandre Neves em Dom 07 Set 2014, 07:15

    Bom dia,
    O ajuste que eu quero fazer, acredito que seria nesta linha de comando:

    ' Verifica se haverá parcela a ser paga no ato da venda (Entrada)
    If Me.Entrada Then

    ' Havendo, insere a primeira parcela na tabela e define o inicio do contador em 2
    CurrentDb.Execute "INSERT INTO tbl_DetalheDespesas (IdDaDespesa,NumeroParcela,DtVenc,ValorDaParcela, DtPgto, Quitado) " & _
    "VALUES (" & Me.IdDaDespesa & ",1,'" & DtVencimento & "','" & VlParcela & "',' " & DtVencimento & "',ControloQuitado)"


    .................................................................................
    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

    colaboradorpa
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 63
    Registrado : 16/07/2014

    Re: [Resolvido]Ajuste código de Parcelamento

    Mensagem  colaboradorpa em Dom 07 Set 2014, 14:36

    Bom dia!

    Alexandre, infelizmente não funcionou não... deu erro no código...
    Não estaria faltando alguma vírgula, parêntese ou sei lá o quê mais?

    Esqueci de dizer: Eu utilizo o office 2013.

    Agradeço a atenção.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Ajuste código de Parcelamento

    Mensagem  Alexandre Neves em Dom 07 Set 2014, 14:46

    Boa tarde,
    Se o campo é Sim/Não
    CurrentDb.Execute "INSERT INTO tbl_DetalheDespesas (IdDaDespesa,NumeroParcela,DtVenc,ValorDaParcela, DtPgto, Quitado) " & _
    "VALUES (" & Me.IdDaDespesa & ",1,'" & DtVencimento & "','" & VlParcela & "',' " & DtVencimento & "',True)"


    .................................................................................
    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

    colaboradorpa
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 63
    Registrado : 16/07/2014

    Re: [Resolvido]Ajuste código de Parcelamento

    Mensagem  colaboradorpa em Dom 07 Set 2014, 14:57

    vou testar e já te retorno

    colaboradorpa
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 63
    Registrado : 16/07/2014

    Re: [Resolvido]Ajuste código de Parcelamento

    Mensagem  colaboradorpa em Dom 07 Set 2014, 15:06

    Obrigado Alexandre Neves

    Resolvido

      Data/hora atual: Ter 27 Jun 2017, 20:54