Paul, If the index does get deleted you will not get an error when opening the file but you WILL get a "Database Container is invalid, validate" message. You can simply recreate the index using modi comm. Or by code which sometimes throws an error but you can ignore this and the index will be created OK.
Try it: Delete file <<fname.cdx>> Open <<fname>> Set order to <<tag>> Then modi comm. The table and recreate the index...it will blow back an error but ignore it and the index is created correctly. It is obviously useful to validate the database just to make sure everything is OK and you need to have it open exclusively to do this. Dave Crozier -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Paul Newton Sent: 27 September 2007 14:51 To: [email protected] Subject: Re: How to find DBC for a table Many thanks to you both, Ed and Dave Having only worked with free tables I have never come across this problem - and the task I am working in is refactoring some code that was originally written for FPD ! So, I won't ever, ever do it again - I promise ! BUT it raises two questions: 1. What happens if a CDX gets accidentally deleted outside of VFP ? 2. More importantly - can there ever arise a type of data corruption whereby DELETE TAG ALL and recreating index tags does not work ? Thanks Paul Newton Dave Crozier wrote: > Paul, > Never Ever delete the index from outside VFP as there is incex link info > held inside the DBC container which will be corrupted. > > Use Delete Tag all > > To remove index tag information then create the indexes from scratch. > > Dave Crozier > > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf > Of Paul Newton > Sent: 27 September 2007 13:59 > To: [email protected] > Subject: Re: How to find DBC for a table > > Many thanks, Ed - now all I need is the answer to the second question in > my post ! > > Paul Newton > > Ed Leafe wrote: > >> On Sep 27, 2007, at 8:24 AM, Paul Newton wrote: >> >> >> >>> When used with a noncurrent database, the USE command opens the >>> database >>> automatically but does not set the database as the current database. >>> When the table closes, the database remains open >>> >>> Fair enough - but how do I identify the database that has been >>> opened ? >>> >>> >> USE MyTable ALIAS Foo >> dbc = CURSORGETPROP("Database", "Foo") >> >> -- Ed Leafe >> -- http://leafe.com >> -- http://dabodev.com >> >> >> >> >> [excessive quoting removed by server] _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/profox OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/[EMAIL PROTECTED] ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.

