Erro na exibição de valores em campo acumulado na consulta

Caríssimos, bom dia!

Tenho uma aplicação de consulta que exibe o extrato de movimentações bancárias do caixa da empresa. Na emissão de um extrato, ocorre um erro estranho que faz com que o campo Saldo (Acumulado) exiba um valor diferente do correto, acrescentado (ou retirando) milésimos de centavos do valor correto no campo acumulado, causando erro na soma (!!!) do extrato. Vejam a tela com o erro abaixo. A primeira coluna “Saldo” é apenas para tornar os valores em “-” quando for débitos e “+” quando crédito (está sendo exibida propositalmente para tentar identificar a origem do erro), e a segunda coluna “Saldo” é um campo moeda acumulador desta primeira coluna “saldo”. Eu suprimi a opção “completar com zeros” para verificar se ocorria algum problema de digitação indevida de centésimos ou milésimos pelos usuários, e deixei a coluna acumulado com 10 casas decimais. Todos os campos estão com tipo=Moeda. Como vocês poderão notar, o acumulado muda o valor no último lançamento. Entretanto, se eu tirar o extrato das datas 15/04 e 18/04 separadamente, o erro não acontece. Já tentei todas as formas ao alcance de meus limitados conhecimentos, mas não consigo identificar o que causa o erro, ou como corrigi-lo.
Data Titulo Lancamento Obs Cheque Credito Debito Saldo Saldo
15/04/2016 00001 Saldo Anterior 1.033,61 1.033,61
15/04/2016 1357 DIAMOND BILLIARD PRODUCTS, INC 43.703,4 43.703,4 44.737,01
15/04/2016 1394 EASI EIGHT DESIGN&MANUFACTORING (PTY) LTD 36.817,22 36.817,22 81.554,23
15/04/2016 1395 EASI EIGHT DESIGN&MANUFACTORING (PTY) LTD 36.817,22 36.817,22 118.371,45
15/04/2016 1398 BRUNSWICK BILLIARDS 48.354,13 48.354,13 166.725,58
15/04/2016 1399 BRUNSWICK BILLIARDS 48.354,14 48.354,14 215.079,72
15/04/2016 1400 OLHAUSEN BILLIARD MFG.,INC 33.572,12 33.572,12 248.651,84
15/04/2016 1401 OLHAUSEN BILLIARD MFG.,INC 33.572,12 33.572,12 282.223,96
15/04/2016 1402 OLHAUSEN BILLIARD MFG.,INC 16.786,06 16.786,06 299.010,02
15/04/2016 1403 OLHAUSEN BILLIARD MFG.,INC 16.786,06 16.786,06 315.796,08
15/04/2016 1404 OLHAUSEN BILLIARD MFG.,INC 41.685,86 41.685,86 357.481,94
15/04/2016 1405 OLHAUSEN BILLIARD MFG.,INC 36.119,87 36.119,87 393.601,81
15/04/2016 4987 TICHAUER CONSULTORIA ADM LTDA COM.AGENTE FAT.DB008_15 -2.185,15 -2.185,15 391.416,66
15/04/2016 4988 CLAUDIO MERLLI COM.AGENTE FAT.EE007_16 -3.681,71 -3.681,71 387.734,95
15/04/2016 4989 TICHAUER CONSULTORIA ADM LTDA COM.AGENTE FAT.OH018_16 -5.355,63 -5.355,63 382.379,32
18/04/2016 TRF479 TRANSFERENCIA BANCARIA TRANSF. DA CC.17725-6 ITAU P/ CC.6501-3 BB -380.000, -380.000, 2.379,3199999999

Na sua base de dados, todos os campos envolvidos nos cálculos tem que ser decimal e 2 casas decimais e depois na listagem grid também a mesma coisa, se você criou uma função
para apurar o saldo diretamente na base use round(valor, 2) no valor final antes de gravar lá também.

Prezado Jailton,

Obrigado por sua resposta. Mas… Os valores que estão na base de dados são exatamente os que constam nas colunas Crédito e Débito, estão configuradas na base de dados como Money e 2 casas decimais. As colunas “saldo” e “acumulado” são geradas em tempo de execução como campos criados no Scriptcase as duas como Moeda. A primeira coluna "Saldo"vem da condicional (Se Crédito=valor positivo, se débito=valor negativo) e a segunda, “Acumulado”, apenas acumula os valores da primeira coluna saldo. E é exatamente neste “Acumulado” (não sei como o Scriptcase faz isso, ainda estou estudando o código) que ocorre o problema de mudar o valor. Além disso já identificamos o erro em outras datas no extrato. Sem nenhum motivo os valores são modificados. O mais estranho é que se eu emitir os extratos das duas datas separadamente (15/04 e 18/04) o erro não aparece… mas emitindo o extrato do intervalo aparece o erro novamente. Veja abaixo (lembrando que os dados listados são a cópia da consulta exibida na tela).

Extrato 15/04

Data Titulo Credito Debito Saldo Acumulado
15/04/2016 00001 1.033,61 1.033,61
15/04/2016 1357 43.703,4 43.703,4 44.737,01
15/04/2016 1394 36.817,22 36.817,22 81.554,23
15/04/2016 1395 36.817,22 36.817,22 118.371,45
15/04/2016 1398 48.354,13 48.354,13 166.725,58
15/04/2016 1399 48.354,14 48.354,14 215.079,72
15/04/2016 1400 33.572,12 33.572,12 248.651,84
15/04/2016 1401 33.572,12 33.572,12 282.223,96
15/04/2016 1402 16.786,06 16.786,06 299.010,02
15/04/2016 1403 16.786,06 16.786,06 315.796,08
15/04/2016 1404 41.685,86 41.685,86 357.481,94
15/04/2016 1405 36.119,87 36.119,87 393.601,81
15/04/2016 4987 -2.185,15 -2.185,15 391.416,66
15/04/2016 4988 -3.681,71 -3.681,71 387.734,95
15/04/2016 4989 -5.355,63 -5.355,63 382.379,32

Extrato 18/04
Data Titulo Credito Debito Saldo Acumulado
18/04/2016 00001 382.379,32 382.379,32
18/04/2016 TRF479 -380.000, -380.000, 2.379,32

Extrato 1504 a 18/04
Data Titulo Credito Debito Saldo Acumulado
15/04/2016 00001 1.033,61 1.033,61
15/04/2016 1357 43.703,4 43.703,4 44.737,01
15/04/2016 1394 36.817,22 36.817,22 81.554,23
15/04/2016 1395 36.817,22 36.817,22 118.371,45
15/04/2016 1398 48.354,13 48.354,13 166.725,58
15/04/2016 1399 48.354,14 48.354,14 215.079,72
15/04/2016 1400 33.572,12 33.572,12 248.651,84
15/04/2016 1401 33.572,12 33.572,12 282.223,96
15/04/2016 1402 16.786,06 16.786,06 299.010,02
15/04/2016 1403 16.786,06 16.786,06 315.796,08
15/04/2016 1404 41.685,86 41.685,86 357.481,94
15/04/2016 1405 36.119,87 36.119,87 393.601,81
15/04/2016 4987 -2.185,15 -2.185,15 391.416,66
15/04/2016 4988 -3.681,71 -3.681,71 387.734,95
15/04/2016 4989 -5.355,63 -5.355,63 382.379,32
18/04/2016 TRF479 -380.000, -380.000, 2.379,3199999999

Estou com o mesmo problema ele calcula errado na exibição mas na exportação ele faz correto o que pode ser ?

alguma solucao para o caso ?
estou com um campo acumulado que num dado momento fura.

ja botei scroll infinito.

20150106	REC	04122014	DP	T00014	R	VL	2.200,0000000	2.200,00	2.200,00

20150128 REC 16012015 DP T00014 R VL 4.300,0000000 4.300,00 6.500,00

20150204 REC 15102014 DP T00014 R VL 500,0000000 500,00 7.000,00

20150204 REC 16012015 DP T00014 R VL 2.200,0000000 2.200,00 9.200,00

20150219 REC 06022015 DP T00014 R VL 3.600,0000000 3.600,00 12.800,00

20150223 REC 06022015 DP T00014 R VL 1.800,0000000 1.800,00 14.600,00

20150317 REC 10032015 DP T00014 R VL 5.400,0000000 5.400,00 20.000,00

20150317 REC 11032015 DP T00014 R VL 1.800,0000000 1.800,00 21.800,00

20150330 REC 11032015 DP T00014 R VL 3.600,0000000 3.600,00 25.400,00

20150402 REC 26032015 DP T00014 R VL 3.880,0000000 3.880,00 29.280,00

20150414 REC 26032015 DP T00014 R VL 2.000,0000000 2.000,00 31.280,00

20150415 REC 01042015 DP T00014 R VL 5.400,0000000 5.400,00 36.680,00

20150428 REC 15042015 DP T00014 R VL 3.600,0000000 3.600,00 40.280,00

20150504 REC 15042015 DP T00014 R VL 1.800,0000000 1.800,00 42.080,00

20150511 REC 24042015 DP T00014 R VL 5.400,0000000 5.400,00 47.480,00

20150512 REC 26032015 DP T00014 R BA 120,0000000 120,00 47.600,00

20150623 REC 08062015 DP T00014 R VL 6.218,0000000 6.218,00 53.818,00

20150708 REC 30042015 DP T00014 R VL 5.400,0000000 5.400,00 59.218,00

2[i][b]0150723 REC 18062015 DP T00014 R VL 6.200,0000000 6.200,00 65.418,00

20150724 REC 22062015 DP T00014 R VL 5.700,0000000 5.700,00 5.700,00[/b][/i]

20150814 REC 24072015 DP T00014 R VL 6.000,0000000 6.000,00 11.700,00

20150817 REC 27082015 DP T00014 R VL 6.000,0000000 6.000,00 17.700,00