Ciao, perdona il ritardo nella risposta.
Ti chiedo, ma tu devi fare sempre la differenza con la prima riga, o è con la precedente?
Nel primo caso puoi usare un campo formula per calcolarti i valori dei campi della prima riga, e poi usarli sempre per ogni dettaglio come sottraendo per avere la differenza.
Una formula come:
if recordnumber = 0 then
shared numbervar oraZero := {campoora}
else
{campoora} - shared numbervar oraZero;
Per il secondo puoi usare sempre un campo formula ma che sfrutti la funzione "previous":
if recordnumber = 0 then
{campoOra}
else
{campoOra} - Previous({campoOra})
Terza scelta provare a vedere con i campi sommatoria (RunningTotalFields) se riesci ad impostare l'operazione da fare e il relativo azzeramento quando ti serve...
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo