I think ROGERIORIOS already moved on. Fine.
So, to any future user trying this out: Don't.
At first stage, with a corrupted DBF, it's sufficient to only recover the DBF backup (that means table.dbf and related files like table.fpt, table.cdx and maybe more .idx or .cdx files).
ROGERIORIOS must have thought along the lines it's best to remove the corrupt table, then restore a healthy old version of it and add it to the DBC. That doesn't work, because your backup table already belongs to the DBC. You can only add tables that are free to a DBC and the backup copy isn't a free table. What's worse is, that once you already removed the corrupt table from the DBC, restoring the healthy DBF you can neither add it to the DBC nor can you remove it with the commands ADD TABLE or REMOVE TABLE. As Mike said it, ROGERIORIOS has dug himself into a hole.
The option you are given in the message ROGERIORIOS posted that offers to free the table, you lose all properties of the DBF that are part of the DBC, that's not only concerning long field names, but also features like default values. Then adding it with ADD TABLE is possible, but you don't get back to the old structure with all long field names and other DBC based features the table had.
You have contradicting information in DBC and DBF in that situation and there is only one easy way out: Restore the DBC to the state it was before you did REMOVE TABLE, by simply restoring it together with the DBF backup and everything is in sync again. The backup also doesn't know about your last structural change, so that has to be repeated, but so what? You can get back to the healthy state and this time make your table change while the table is not "open in a query", as ROGERIORIOS said was starting the problem.
Sidenote: Something did change that caused the corruption, an ALTER TABLE or editing the table structure in the table designer would have failed completely and couldn't have caused any change at all, if the table wouldn't be able to open exclusively so that a table is "open in a query" actually means nothing. If it could be altered in any way, it wasn't open "in a query". It's a thing that you can't really say about a table anyway. A table can be queried and the query result can actually be a filter of the DBF itself, which you can detect by checking DBF('queryresultalias'). If it's not the DBF, it is a TMP file and that can still be open, while the DBF can be closed. And so you can alter a table that was used in a previous query, that's not a hindering reason nor is it a reason that corrupts a DBF when you alter it as a query result is not the DBF itself. In case the query result is a filter, you wouldn't even get into the table designer or your ALTER TABLE command would simply fail and do nothing.
So it's not even clear what caused the corruption here, but once corruption is given, the simplest thing to do is restore the table. There only was a corruption in the table, not the datbase. So in the first place just restoring the table will be sufficient, if you don't have changed anything in the DBC itself. If you already fiddled with things like REMOVE TABLE or VALIDATE DATABASE, then restore the table.DBF, and other table.* files and also restore the files of the database container, the database.DBC, database.DCT, database.DCX files, and also everything is in sync between the DBC and the DBF and all other DBFs of the DBC.
In very short: Just make use of the backup in the first place. You can always as very first step set aside the corrupt table plus the DBC files into a separate new folder for the purpose of trying to restore some data from it. But only try getting at lost records as aftermath, don't begin your journey with the path that you don't know will lead to a recovered healthy state, begin your journey with recovering the table in the last backup state and then continue to improve from there, that's always simpler.
Just as an exercise without any corrupted table, you can copy just these the DBC/DCT/DCX files of your database container and files of just one table into a new folder with the same relative location of files. This means, if your tables are in subdirectories also create the subdirectory. Now OPEN DATABASE and USE the copied table. This will work, though all other tables are missing from the copy. The opening of a DBC does not check for the existence of all tables and other meta information it has about them. So you can always set aside just one table of a database together with the database container files and in case the DBF is corrupt try to fix it or get at the last records in it that were not in the backup. Then there are table repair tools out there, even though many vendors of VFP software are gone out of business. Doing it this way means you're taking out the time pressure to get back to a recovered state. The loss of some records should simply not be your first concern at all, the first concern is to get back to a recovered database the application can use again that enables users to work again, especially in a company where waiting for this causes costs much higher than the loss of records of a day.
I know, in a shop that can mean the orders of the last day and then it is important to get back the data about that, but you have more time to get at them and as many tries as you like, if you always copy your copy of the corrupt data before trying a rapair.
Chriss