>>In addition to what Craig said, you can use the NOFILTER clause to force the creation of the cursor on the drive.
>
>But DBF() would return the name of the table in that case, not a tempory file path (and she said she'd tried NOFILTER).
She tried NOFILTER, but not necessarily with the SUSPEND in place, since she got the same error with and without NOFILTER. NOFILTER only has an effect if the result of a query is fully optimizable and results in a filtered view of the table, in which case DBF() returns the base table name, and things like RECCOUNT() are not accurate.