Ciao,
la cosa non è molto semplice da fare, ossia al massimo dentro ad una formula di crystal (campo dentro al quale puoi scrivere del codice) non hai accesso all'indietro o avanti nei record, perchè di fatto (se la metti nella sezione dettagli) sei puntato ad ogni record.
Al massimo hai "Previous({campo})" e il duale "Next({campo})", ma a quanto ho capito tu dovresti poter andare indietro di un nro di record arbitrario...
Puoi però provare a giocare sempre con la formula, ma appoggiando il valore su una variabile "Shared" in modo che ad ogni record hai il valore sempre in canna...ad esempio puoi fare una formula dove scrivi questo codice:
if shared numbervar valore < {campo} then
shared numbervar valore := {campo}
così ad esempio hai il valore "minimo" di un campo...il tuo caso è più complesso ma prova a vedere se la strada è percorribile...
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo