If you really want to update the database from CR 8.5, you can do it since you're using SQL Server. Create a stored procedure that takes two parameters: the identifier and an integer (PageNumber). Within the procedure, write the UPDATE stament to update the table, but place a dummy SELECT statement at the end of the proc, like "SELECT Updating = 1".
Since I've no idea how your report is laid out, I can only give you a proposed solution. If your report is grouped by Father, place this formula in the Group Header:
[tt]// @PageByFather
WhilePrintingRecords;
NumberVar PageNum := PageNumber;[/tt]
In the Group Footer, insert a subreport that calls the Update procedure, and link it with the Father identifier, and the @PageByFather formula. It will only fire off for every page if you either view every page, or if you click the 'Last Page' button (>|).
If the group spans more than one page, and you've got 'Repeat Group Header on Each Page' checked, a tweak will be necessary. Create another formula, and place it in the Report Header:
[tt]//@Init
WhilePrintingRecords;
NumberVar PageNum := 1;[/tt]
Then, tweak the @PageByFather formula a bit:
[tt]WhilePrintingRecords;
NumberVar PageNum;
If Previous({T_ESMPRE.EPR_A_IDESP}) <> {T_ESMPRE.EPR_A_IDESP} then
PageNum := PageNumber
else
PageNum;[/tt]
-dave