Bom dia, Pessoal.
Estou à dias tentando criar uma forma de obter o saldo linha-a-linha de uma tabela de movimentações do cliente de maneira eficiente, a única forma de fazer isso sem se utilizar de expressões de domínio cheias de critérios do DSum, foi abrindo o recordset com um que dá o saldo acumulado do select a cada loop, o problema é escrever isso no relatório, pois como vocês podem ver, existe à linha "Me.STemp = Saldo" que em tese em cada loop escreveria uma respectiva linha no relatório, só que isso não acontece e o campo STemp recebe só o ultimo valor do loop, logo o saldo final. Existe alguma maneira de fazer o relatório escrever isso a cada loop criando outras linhas?
Estou à dias tentando criar uma forma de obter o saldo linha-a-linha de uma tabela de movimentações do cliente de maneira eficiente, a única forma de fazer isso sem se utilizar de expressões de domínio cheias de critérios do DSum, foi abrindo o recordset com um que dá o saldo acumulado do select a cada loop, o problema é escrever isso no relatório, pois como vocês podem ver, existe à linha "Me.STemp = Saldo" que em tese em cada loop escreveria uma respectiva linha no relatório, só que isso não acontece e o campo STemp recebe só o ultimo valor do loop, logo o saldo final. Existe alguma maneira de fazer o relatório escrever isso a cada loop criando outras linhas?
- Código:
Private Sub Report_Load()
DoCmd.SetWarnings False
Dim rst As DAO.Recordset
Dim Saldo As Double
Set rst = CurrentDb.OpenRecordset("SELECT * FROM PessoaMovimento WHERE PessID = " & Me.PessID & "")
Do While Not rst.EOF
Saldo = Saldo + rst!Valor
Me.STemp = Saldo
rst.MoveNext
Loop
Screen.ActiveForm.Refresh
End Sub