Estou desenvolvendo um projeto para uma escola, onde eles trabalham com o parcelamento do pagamento do aluno.
A pessoa que vai colocar as parcelas ela seleciona: DATA DO VENCIMENTO, VALOR DA PARCELA, NÚMERO DE PARCELAS..
apois isso ser inserido, o código vai gerar o loop dessas parcelas em uma listview...ate ai tudo da certo, porém, quando eu insiro uma data apartir do dia 13 ao dia 31...ele gera as proximas datas todas com o dia 1..exemplo:
DATA DE VENCIMENTO LANÇADA: 14/07/2019
DATA MOSTRADA NA LISTVIEW: 01/08/2019
obs: ele lançou no mês 8, porque pega a data que eu digitei e soma com mais 1 mês, de acordo com a quantidade de parcelas informada pelo usuário.
Segue abaixo o codigo que estou usando.
A pessoa que vai colocar as parcelas ela seleciona: DATA DO VENCIMENTO, VALOR DA PARCELA, NÚMERO DE PARCELAS..
apois isso ser inserido, o código vai gerar o loop dessas parcelas em uma listview...ate ai tudo da certo, porém, quando eu insiro uma data apartir do dia 13 ao dia 31...ele gera as proximas datas todas com o dia 1..exemplo:
DATA DE VENCIMENTO LANÇADA: 14/07/2019
DATA MOSTRADA NA LISTVIEW: 01/08/2019
obs: ele lançou no mês 8, porque pega a data que eu digitei e soma com mais 1 mês, de acordo com a quantidade de parcelas informada pelo usuário.
Segue abaixo o codigo que estou usando.
- Código:
Private Sub chameleonButton1_Click()
LstFaturas.ListItems.Clear
If txt_alunoselecionado.Text = "" Or txt_Mensalidade.Text = "" Or txtNumeroParcelas.Text = "" Or txtNumeroTitulo.Text = "" Then Exit Sub
'================================================================
' Gera fatura para ano com 2 e 4 dígitos
'================================================================
Dim DataFatura, DataParcela As Date
Dim ValorFatura As Currency
Dim dd, mm, aa, Parcela, NumeroParcela As Integer
'======================================
DataFatura = txt_Vencimento
ValorFatura = txt_Mensalidade.Text
NumeroParcela = txtNumeroParcelas.Text
Parcela = 0
'======================================
dd = Mid$(DataFatura, 1, 2)
mm = Mid$(DataFatura, 4, 2)
aa = Mid$(DataFatura, 7, 4)
'======================================
Do Until Parcela >= NumeroParcela
If dd > 12 Then dd = Format(CCur(dd), "##")
If dd > 12 Then dd = Format(CCur(1), "##")
If mm <= 12 Then mm = CCur(mm) + 1
If CCur(mm) > 12 Then
mm = CCur(1)
aa = CCur(aa) + 1
End If
Parcela = Parcela + 1
DataParcela = CDate(dd & "/" & mm & "/" & aa)
'=======================================
Dim i As Integer
Dim lst As ListItem
Set lst = LstFaturas.ListItems.Add(, "000" + Str(LstFaturas.ListItems.Count + 1), Str(LstFaturas.ListItems.Count + 1))
lst.ListSubItems.Add Text:=txt_alunoselecionado.Text
lst.ListSubItems.Add Text:=LstFaturas.ListItems.Count
lst.ListSubItems.Add Text:=CDate(DataParcela)
lst.ListSubItems.Add Text:=Format(CCur(ValorFatura))
Loop
'Dim i As Integer
For i = 1 To LstFaturas.ListItems.Count
' List1.ListItems.Add i
If LstFaturas.ListItems(i).SubItems(2) <> "" Then
LstFaturas.ListItems(i).ListSubItems(2).ForeColor = vbRed
Else
LstFaturas.ListItems(1).ListSubItems(2).ForeColor = vbBlue
End If
Next
For i = 1 To LstFaturas.ListItems.Count
If LstFaturas.ListItems(i).SubItems(3) <> "" Then
LstFaturas.ListItems(i).ListSubItems(3).ForeColor = &H8000000D
End If
Next
End Sub
Última edição por danielmarcos17 em 12/7/2019, 15:03, editado 1 vez(es)