il tuo

Questo è quello che stampa a video, in ordine dal primo all'ultimo:

-3
-9
+5
+1


deriva da dei progressivi, quindi in effetti sarebbe


codice:
rec# *** val *** progrs
  1  ***  -3 ***  -3
  2 ***   -6 ***  -9
  3 ***  +14 ***  +5
  4 ***   -4 ***  +1
per cui, anche leggendo il recordset al contrario, avresti

codice:
rec# *** val *** progrs
  1  ***  -4 ***  -4
  2 ***  +14 *** +10
  3 ***   -6 ***  +4
  4 ***   -3 ***  +1
solo l'ultimo è corretto!!

mentre tu vuoi

codice:
rec# *** val *** progrs
  4 ***   -3 ***  +1
  3 ***   -6 ***  +4
  2 ***  +14 *** +10
  1  ***  -4 ***  -4

è giusto il ragionamento?

se è così, io credo che tu debba fare i conteggi come nel primo caso, ma - invece di mostrare subito -devi mettere il risultato in un array e poi mostrare l'array al contrario.