Hi Alan,
I don't know why all your tables would close, but I do know why *one* of them would. Look at your code. You do a copy to a new table from the existing table and then USE the new table. But you don't specify an alias, such as an "IN 0" clause. So, the new table gets opened in the same area as the old and then, when it's closed, there is nothing open in that select area.
Try the following code (yours, modified):
Local lnSelected
lnSelected=Select()
Copy To CliReport.dbf
Use CliReport IN 0
SELECT clireport
Report Form Client To Print Preview
Use IN clireport
Delete file CliReport.dbf
Select(lnSelected)
------------------------------------------------
John Koziol, ex-MVP, ex-MS, ex-FoxTeam. Just call me "X"
"When the going gets weird, the weird turn pro" - Hunter Thompson (Gonzo) RIP 2/19/05