DATA NAS PARCELAS
Vc usou a rotina q eu mandei e pegou mes 5?
Estranho..pq aki jogando mesmos valores..dá certinho
ele pega o mes da data de inicio e soma 1
Citação::
Quase ficou 10...
A segunda parcela ficou mês 05, teria q ficar mes 04...
poste o codigo da rotina pra que possa ser consertado, pois o erro esta no da no loop
acho que esta parte da rotina tem que estar dentro do FOR
[ô]Incrementa a data, caso seja MENOR que a data de inÃcio
Valor = DateAdd([Ô]m[Ô], 1, Valor)
Private Sub CmdGerar_Click()
Dim Valor, Dias As Variant
Dim Dt_Final As Variant
Dim Mes As Integer
Dim Ano As Integer
Dim Dia As String
Dim Parc As Double
[ô]--
Dim Linha As Integer
[ô] Validação
If Not IsDate(TxtDt_Inicio.Text) Or Not IsNumeric(TxtDia_Pagto.Text) Or Not IsNumeric(TxtPrazo.Text) Then
MsgBox ([Ô]Verifique os Dados Informados![Ô]), vbExclamation, [Ô]ATENÇÃO[Ô]
End If
G.Rows = 1 [ô]Limpa a Grid, Caso Altere a Quant Parcelas
[ô]Pega a data da primeira parcela
Valor = DateSerial(Year(TxtDt_Inicio.Text), Month(TxtDt_Inicio.Text), CInt(TxtDia_Pagto.Text))
Valor = DateAdd([Ô]m[Ô], 1, Valor) [ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]aqui esta acrescentando um mes na data[ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]
For Linha = 1 To TxtPrazo.Text
Parc = CDbl(LblTotalVenda.Caption) / Val(TxtPrazo.Text) [ô] Valor de Cada Parcelas
With G
If Linha = 1 Then
.Rows = .Rows + 1
.TextMatrix(.Rows - 1, 1) = Format(TxtDt_Inicio, [Ô]dd/mm/yyyy[Ô])
.TextMatrix(.Rows - 1, 2) = Format(Parc, [Ô]###,##0.00[Ô])
Else
.Rows = .Rows + 1
.TextMatrix(.Rows - 1, 1) = Format(Valor, [Ô]dd/mm/yyyy[Ô])
.TextMatrix(.Rows - 1, 2) = Format(Parc, [Ô]###,##0.00[Ô])
End If
End With
[ô]Incrementa [Ô]Valor[Ô] em 1 mês aqui outro???????????????????????????????????????? dando 60 dias. que ocorreu no seu sistema
Valor = DateAdd([Ô]m[Ô], 1, Valor)
Next Linha
End Sub
Sabe o que está acontecendo moreira?
você deve criar uma regra para verifiar a data do primeiro vencimento.
por exemplo eu fiz um verificação em seu código, em que quando o dia atual for maior que o dia de pagamento, então somo um mes ao mesmo.
ex:
28/02/2010 venc 15
28 é maior do que 15
então
somo um ao mes atual: 02 + 1 = 3
as parcelas vão ficar certa
porem se a data atual for 15
ex: 15/02/2010 ou menor 14/02...13/02
o mes vai ficar o atual
veja na integra e diga o que deseja mudar
você deve criar uma regra para verifiar a data do primeiro vencimento.
por exemplo eu fiz um verificação em seu código, em que quando o dia atual for maior que o dia de pagamento, então somo um mes ao mesmo.
ex:
28/02/2010 venc 15
28 é maior do que 15
então
somo um ao mes atual: 02 + 1 = 3
as parcelas vão ficar certa
porem se a data atual for 15
ex: 15/02/2010 ou menor 14/02...13/02
o mes vai ficar o atual
veja na integra e diga o que deseja mudar
Private Sub CmdGerar_Click()
Dim Valor, Dias As Variant
Dim Dt_Final As Variant
Dim Mes As Integer
Dim Ano As Integer
Dim Dia As String
Dim Parc As Double
[ô]--
Dim Linha As Integer
[ô] Validação
If Not IsDate(TxtDt_Inicio.Text) Or Not IsNumeric(TxtDia_Pagto.Text) Or Not IsNumeric(TxtPrazo.Text) Then
MsgBox ([Ô]Verifique os Dados Informados![Ô]), vbExclamation, [Ô]ATENÇÃO[Ô]
End If
G.Rows = 1 [ô]Limpa a Grid, Caso Altere a Quant Parcelas
[ô]Pega a data da primeira parcela
If Day(CDate(TxtDt_Inicio)) > TxtDia_Pagto Then
Valor = DateSerial(Year(TxtDt_Inicio.Text), Month(TxtDt_Inicio.Text) + 1, CInt(TxtDia_Pagto.Text))
Else
Valor = DateSerial(Year(TxtDt_Inicio.Text), Month(TxtDt_Inicio.Text) , CInt(TxtDia_Pagto.Text))
End If
For Linha = 1 To TxtPrazo.Text
Parc = CDbl(LblTotalVenda.Caption) / Val(TxtPrazo.Text) [ô] Valor de Cada Parcelas
With G
.Rows = .Rows + 1
.TextMatrix(.Rows - 1, 0) = Format(Valor, [Ô]dd/mm/yyyy[Ô])
.TextMatrix(.Rows - 1, 1) = Format(Parc, [Ô]###,##0.00[Ô])
End With
[ô]Incrementa [Ô]Valor[Ô] em 1 mês
Valor = DateAdd([Ô]m[Ô], 1, Valor)
Next Linha
End Sub
DAVERSON, Perfeito... é verdade, não precisaria dessa linha abaixo.... Obrigado Pela Ajuda........
Valor = DateAdd([Ô]m[Ô], 1, Valor) [ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]aqui esta acrescentando um mes na data[ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]
Como o TECLA q escreveu a rotina, o ponto vai pra ele.....
SINKERTEC, confesso q nao conseguir usar no Msflxgrid sua rotina. mas de qualquer forma, muito ogrigado....
Valor = DateAdd([Ô]m[Ô], 1, Valor) [ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]aqui esta acrescentando um mes na data[ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]
Como o TECLA q escreveu a rotina, o ponto vai pra ele.....
SINKERTEC, confesso q nao conseguir usar no Msflxgrid sua rotina. mas de qualquer forma, muito ogrigado....
Tópico encerrado , respostas não são mais permitidas