Stewart,
Is there a SEEK or LOCATE inside of the SCAN loop that FOUND() is responding to? Can you use indexseek(), as someone else suggested?
>In the SCAN there is a case structure with a whole bunch of cases. The last defined case checks for a match in the related table and that an amount field in the table being scanned matches an amount field in the related table. The syntax is CASE FOUND([BanklineRds]) AND BanklineRds.SorderAmt = BankStatement.Amount. There is an OTHERWISE at the end.
>
Steve Gibson