NADIRONUNES 31/5/2012, 13:12
Haryshon tenho esse codigo mas nao to coseguindo fazer com que ele gera uma nova parcela da diferencia paga do valor da duplicata
exemplo
duplicata de 200,00 o cliente pagou 150,00 entao ele automaticamente ele gerava uma nova parcela com 30 dias da data paga em uma nova linha no valor de 50,00.
Dim REST As Currency
' DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveReord, , acMenuVer70
Dim db As Database, RS As Recordset
If Me.pago <= 0 Or IsNull(Me.pago) Then
Exit Sub
End If
Set db = CurrentDb()
Set RS = db.OpenRecordset("SELECT * FROM tbl_Parcelas WHERE ORDEM =" & Me.ordem & " and quitada=-1;")
REST = Me.pago
RS.MoveFirst
Do While REST > 0 And Not RS.EOF
If REST < RS("curValor") - IIf(IsNull(RS("ValorPago")), 0, RS("ValorPago")) Then 'O valor pago não chega para liquidar o que falta da parcela (toda ou parte)
RS.Edit
RS("ValorPago") = IIf(IsNull(RS("ValorPago")), 0, RS("ValorPago")) + REST
RS("ValorRestante") = RS("Valor") - RS("ValorPago")
REST = 0
RS.Update
Else 'O valor chega para pagar a parcela (pode sobrar ou não)
RS.Edit
REST = REST - (RS("curValor") - IIf(IsNull(RS("ValorPago")), 0, RS("ValorPago")))
RS("ValorPago") = RS("curValor")
RS("quitada") = True
RS.Update
End If
RS.Edit
RS("ValorRestante") = RS("curValor") - IIf(IsNull(RS("ValorPago")), 0, RS("ValorPago"))
RS.Update
RS.MoveNext
Loop
RS.Close
db.Close