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