Diferença de valor entre registos

Tenho um grid onde entre varias colunas tenho o numero de KMS de uma viatura.
Criei um campo que ao executar no grid possa efetuar a diferença do numero de KMs mais recente como o anterior e colocando no campo KMSPERCORRIDOS.

ID Matricula KMS KMspercorridos
5 MA-01-01 10000 0
7 MA-01-01 10100 100
10 MA-01-01 10190 90
etc…
Estive a tentar de varias formas no evento OnRecod, pelo que me apercebo tenho de ler o registo seguinte para ter o valor dos KMS fazer a diferença para o valor do registo atual dos KMs e colocar no registo seguinte os KMspercorridos.
O ID nem sempre é sequencial…

Alguma sugestão?
Obrigada

Coloca a SQL em ORDEM de MATRICULA e KMS, ai usa uma formula tipo que você já deve ter usado em FLUXO DE CAIXA, para
ler o saldo anterior e calcular o valor da nova linha, a ‘lógica é a mesma.’

algum exemplo prático?