PARACELA ERRO COM O SEGUNDO MES DO ANO
                    Galera estou gerando as parcelas mas quando o ano muda a data de feverreiro  fica como 1930
estou gerando dessa forma
FUNÇÃO PARCELA
Dim mes As Integer
Dim ano As Integer
Dim data As String
Dim COTA As Integer
Dim parc As Integer
COTA = 0
mes = Format(Now, [Ô]mm[Ô])
ano = Format(Now, [Ô]yy[Ô])
parc = Val(txtnumeroparcelas.Text)
For i = 1 To Val(txtnumeroparcelas.Text)
COTA = COTA + 1
mes = mes + 1
If mes > 12 Then
mes = 1
ano = ano + 1
End If
dia1 = Format(Text35.Text, [Ô]dd[Ô])
dia = Verifica_dia(dia1, mes)
data = dia & [Ô]/[Ô] & Format(mes, [Ô]00[Ô]) & [Ô]/[Ô] & Format(ano, [Ô]00[Ô])
parcela = CCur(txtvalor.Text) / txtnumeroparcelas.Text
Connect
rs.Open [Ô]SELECT * FROM CAIXA[Ô], CON, adOpenStatic, adLockOptimistic
rs.AddNew
rs.Fields(1) = Text10.Text
rs.Fields(2) = Format(txtcodigo, [Ô]0000000000000[Ô]) [ô] CLng(txtcodigo.Text)
rs.Fields(5) = Format(CDate(data), [Ô]dd/mm/yy[Ô])
rs.Fields(3) = CCur(parcela)
rs.Fields(6) = [Ô]ABERTA[Ô]
rs.Fields(8) = [Ô]Prestação de serviço[Ô]
rs.Fields([Ô]MODOPAGAMENTO[Ô]) = MDCO1.Text
rs.Fields(7) = Date
rs.Fields(4) = COTA & [Ô] / [Ô] & Val(txtnumeroparcelas.Text)
rs.Update
Disconnect
[ô]MsgBox Format(CDate(Data), [Ô]dd/mm/yy[Ô])
Next
FUNÇÃO VERIFICA DIA
Public Function Verifica_dia(dia, mes)
Dim diasDoMes As Variant
dia = Val(dia)
diasDoMes = Array(31, 28, 30, 30, 31, 30, 31, 30, 30, 31, 30, 31)
If dia = 31 Then
Verifica_dia = diasDoMes(mes - 1)
Else
Verifica_dia = dia
End If
End Function
                
            estou gerando dessa forma
FUNÇÃO PARCELA
Dim mes As Integer
Dim ano As Integer
Dim data As String
Dim COTA As Integer
Dim parc As Integer
COTA = 0
mes = Format(Now, [Ô]mm[Ô])
ano = Format(Now, [Ô]yy[Ô])
parc = Val(txtnumeroparcelas.Text)
For i = 1 To Val(txtnumeroparcelas.Text)
COTA = COTA + 1
mes = mes + 1
If mes > 12 Then
mes = 1
ano = ano + 1
End If
dia1 = Format(Text35.Text, [Ô]dd[Ô])
dia = Verifica_dia(dia1, mes)
data = dia & [Ô]/[Ô] & Format(mes, [Ô]00[Ô]) & [Ô]/[Ô] & Format(ano, [Ô]00[Ô])
parcela = CCur(txtvalor.Text) / txtnumeroparcelas.Text
Connect
rs.Open [Ô]SELECT * FROM CAIXA[Ô], CON, adOpenStatic, adLockOptimistic
rs.AddNew
rs.Fields(1) = Text10.Text
rs.Fields(2) = Format(txtcodigo, [Ô]0000000000000[Ô]) [ô] CLng(txtcodigo.Text)
rs.Fields(5) = Format(CDate(data), [Ô]dd/mm/yy[Ô])
rs.Fields(3) = CCur(parcela)
rs.Fields(6) = [Ô]ABERTA[Ô]
rs.Fields(8) = [Ô]Prestação de serviço[Ô]
rs.Fields([Ô]MODOPAGAMENTO[Ô]) = MDCO1.Text
rs.Fields(7) = Date
rs.Fields(4) = COTA & [Ô] / [Ô] & Val(txtnumeroparcelas.Text)
rs.Update
Disconnect
[ô]MsgBox Format(CDate(Data), [Ô]dd/mm/yy[Ô])
Next
FUNÇÃO VERIFICA DIA
Public Function Verifica_dia(dia, mes)
Dim diasDoMes As Variant
dia = Val(dia)
diasDoMes = Array(31, 28, 30, 30, 31, 30, 31, 30, 30, 31, 30, 31)
If dia = 31 Then
Verifica_dia = diasDoMes(mes - 1)
Else
Verifica_dia = dia
End If
End Function
                    Dim mes As Integer
Dim ano As Integer
Dim data As String
Dim COTA As Integer
Dim parc As Integer
COTA = 0
mes = Format(Now, [Ô]mm[Ô])
ano = Format(Now, [Ô]yy[Ô])
parc = Val(txtnumeroparcelas.Text)
For i = 1 To Val(txtnumeroparcelas.Text)
COTA = COTA + 1
mes = mes + 1
If mes > 12 Then
mes = 1
ano = ano + 1
End If
dia1 = Format(Text35.Text, [Ô]dd[Ô])
dia = Verifica_dia(dia1, mes)
data = dia & [Ô]/[Ô] & Format(mes, [Ô]00[Ô]) & [Ô]/[Ô] & Format(ano, [Ô]00[Ô])
parcela = CCur(txtvalor.Text) / txtnumeroparcelas.Text
Connect
rs.Open [Ô]SELECT * FROM CAIXA[Ô], CON, adOpenStatic, adLockOptimistic
rs.AddNew
rs.Fields(1) = Text10.Text
rs.Fields(2) = Format(txtcodigo, [Ô]0000000000000[Ô]) [ô] CLng(txtcodigo.Text)
rs.Fields(5) = Format(CDate(data), [Ô]dd/mm/yy[Ô])
rs.Fields(3) = CCur(parcela)
rs.Fields(6) = [Ô]ABERTA[Ô]
rs.Fields(8) = [Ô]Prestação de serviço[Ô]
rs.Fields([Ô]MODOPAGAMENTO[Ô]) = MDCO1.Text
[txt-color=#e80000][ô]rs.Fields(7) = Date[/txt-color] Mude isto para data = dia & [Ô]/[Ô] & Format(mes, [Ô]00[Ô]) & [Ô]/[Ô] & Format(ano, [Ô]00[Ô])
rs.Fields(7) =Data
rs.Fields(4) = COTA & [Ô] / [Ô] & Val(txtnumeroparcelas.Text)
rs.Update
Disconnect
[ô]MsgBox Format(CDate(Data), [Ô]dd/mm/yy[Ô])
Next
            Dim ano As Integer
Dim data As String
Dim COTA As Integer
Dim parc As Integer
COTA = 0
mes = Format(Now, [Ô]mm[Ô])
ano = Format(Now, [Ô]yy[Ô])
parc = Val(txtnumeroparcelas.Text)
For i = 1 To Val(txtnumeroparcelas.Text)
COTA = COTA + 1
mes = mes + 1
If mes > 12 Then
mes = 1
ano = ano + 1
End If
dia1 = Format(Text35.Text, [Ô]dd[Ô])
dia = Verifica_dia(dia1, mes)
data = dia & [Ô]/[Ô] & Format(mes, [Ô]00[Ô]) & [Ô]/[Ô] & Format(ano, [Ô]00[Ô])
parcela = CCur(txtvalor.Text) / txtnumeroparcelas.Text
Connect
rs.Open [Ô]SELECT * FROM CAIXA[Ô], CON, adOpenStatic, adLockOptimistic
rs.AddNew
rs.Fields(1) = Text10.Text
rs.Fields(2) = Format(txtcodigo, [Ô]0000000000000[Ô]) [ô] CLng(txtcodigo.Text)
rs.Fields(5) = Format(CDate(data), [Ô]dd/mm/yy[Ô])
rs.Fields(3) = CCur(parcela)
rs.Fields(6) = [Ô]ABERTA[Ô]
rs.Fields(8) = [Ô]Prestação de serviço[Ô]
rs.Fields([Ô]MODOPAGAMENTO[Ô]) = MDCO1.Text
[txt-color=#e80000][ô]rs.Fields(7) = Date[/txt-color] Mude isto para data = dia & [Ô]/[Ô] & Format(mes, [Ô]00[Ô]) & [Ô]/[Ô] & Format(ano, [Ô]00[Ô])
rs.Fields(7) =Data
rs.Fields(4) = COTA & [Ô] / [Ô] & Val(txtnumeroparcelas.Text)
rs.Update
Disconnect
[ô]MsgBox Format(CDate(Data), [Ô]dd/mm/yy[Ô])
Next
                    Esse campo esta correto so a data atual de lançamento
esse esta errado e onde formam as parcelas
[txt-color=#e80000]rs.Fields(5) = Format(CDate(data), [Ô]dd/mm/yy[Ô])[/txt-color]
esse erro so acontece se o dia do vencimento for dia 30 ou dia 31 e so acontece no fevereiro
            esse esta errado e onde formam as parcelas
[txt-color=#e80000]rs.Fields(5) = Format(CDate(data), [Ô]dd/mm/yy[Ô])[/txt-color]
esse erro so acontece se o dia do vencimento for dia 30 ou dia 31 e so acontece no fevereiro
                    eNTAO A SOLUÇÃO ESTA DENTRO DESTA FUNÇÃO MAS COMO RESOLVER 
Dim diasDoMes As Variant
dia = Val(dia)
diasDoMes = Array(31, 28, 30, 30, 31, 30, 31, 30, 30, 31, 30, 31)
If dia = 31 Then
Verifica_dia = diasDoMes(mes - 1)
Else
Verifica_dia = dia
End If
                
            Dim diasDoMes As Variant
dia = Val(dia)
diasDoMes = Array(31, 28, 30, 30, 31, 30, 31, 30, 30, 31, 30, 31)
If dia = 31 Then
Verifica_dia = diasDoMes(mes - 1)
Else
Verifica_dia = dia
End If
                    veja se isso te ajuda....
                
            
                    Porque não usa a função DATEADD? 
Se a forma de parcelamento é mensal, ou seja, o vencimento é sempre no mesmo dia, basta usar:
Se a forma de parcelamento é a cada 30 dias, use:
Qualquer dúvida poste.
            Se a forma de parcelamento é mensal, ou seja, o vencimento é sempre no mesmo dia, basta usar:
For i = 1 To nroParcelas
   dataParcela = DATEADD([Ô]m[Ô], i, dataVenda)
NextSe a forma de parcelamento é a cada 30 dias, use:
For i = 1 To nroParcelas
   dataParcela = DATEADD([Ô]d[Ô], (i *30), dataVenda)
NextQualquer dúvida poste.
                    Funfo bacana F001E vlwww
                
            
                        Tópico encerrado , respostas não são mais permitidas