Calculated field problem - derive recordno?

I have a TQuery with a three table join returning a read-only dataset
to a DBGrid. This works fine.  I have some calculated fields doing
various things based on the values in the DBGrid fields and this also
is no problem.  What I cannot seem to do is to derive the value of one
of my calculated fields from the record number in the dataset. The
dataset is ORDERed from the SQL and all I wish to do is to assign
a value based on that ORDER, ie first record returned is 1, second is 2

If possible I should like to pass these values (and those of the other
calculated fields) to ReportSmith, but that is a secondary issue.

Can anyone help ?