Boa tarde a todos, perdi um tópico aqui onde explica sobre a ferramenta do while e estou solicitando a ajuda dos mais experientes, tenho um form que dentro tem um subform que puxa os dados de pgto a prazo dos clientes, um dos campos do subform é para localizar os clientes que estão em atraso e incluir juros e multa aos pgtos, coloquei uma condição porem ele só verifica o primeiro registro, não puxa os demais abaixo, se puderem me auxiliar na correção do código, segue abaixo.
obs os dados do subformulário é uma consulta
obs os dados do subformulário é uma consulta
- Código:
Private Sub Form_Load()
On Error GoTo TrataErro
Dim totalmulta as double
Dim multafixo as double
Dim rst As Recordset
juro = DLookup("taxa", "tbl_juros") 'capturo o valor dos juros
multafixo = DLookup("multafixo", "tbl_juros") 'capturo o valor da multa em R$
multa = DLookup("multa", "tbl_juros") 'capturo o valor da multa
Set rst = Me.Recordset
rst.MoveFirst
Do While Me.TxtAtrazo > 0 'verifico se algum campo da consulta é maior que 1 para calcular os juros
With rst
.Edit
Me.TxtAcresc.Value = Me.TxtValor * juro * Me.TxtAtrazo
Me.TxtAcresc = Format$(Me.TxtAcresc, "0.00")
totalmulta = Me.TxtValor * multa
Me.TxtAcresc.Value = Me.TxtAcresc + totalmulta
Me.TxtAcresc.Value = Me.TxtAcresc + multafixo
.Update
.MoveNext
End With
Loop
Set rst = Nothing
Else
End If
TrataErro:
Exit Sub
End sub