Jim,
You are correct about the error occuring inside a transaction. In fact, it occured on the line 'End Transaction' which indicates that begin trans and end trans are doing some internal checking of file lengths versus header lengths and that in this checking the status of tablevalidate must be ignored. How would you trap for this error? Would something like this work -
try
end transaction
catch to myerr when myerr.errorNo=2065
* is 2065 the only error that could occur on the end transaction line
rollback
alert the user to the problem
try to fix the problem as you outlined in your reply
endtry
The error message indicates the table that the error occured on. Does adding and then deleting a record fix the problem?
Calvin
A problem is a problem only as long as it has a possible solution. Lacking that, it becomes a FACT!