>Mark;
>Actually all the indexes for two of my tables (unrelated tables) got dropped. I had a problem in the code of one of my screens which allowed an invalid record to get stored (it didn't violate the PK but one of my other indices made it a duplicate unknowingly - so that shouldnt have 'caused' the problem. The other table may have been open at the time. Since the app is new and this client is the first to use it I am concerned, since I am new at VFP (used to code in only 2.6) and don't want a problem to crop up that I don't have an efficient method to correct.
Let's retreat a little here. Like Doug pointed out, you have to have created a complete set of SDT meta data and provided those tables with your app. You do not actually use any SDT validation methods in your app. That is only for design time using the SDT Explorer.
In your app, there are 4 primary methods [2 pair] -- NeedReindex() and Reindex(), NeedUpdate() and Update(). An additional method is Repair(). Those are the olny table management methods you should include in your app.
There is a TestMetaData() method you can run against the DBC and the current set of meta data to see if the 2 are in sync. See the SDT doc on this and all the other methods I mentioned.
Now, if you did not provide a complete set of meta data, and ran the Update() method, anything in the DBC not in the meta data could have been removed, and indexes would have been dropped if you passed True for the 3rd parameter.
Mark McCasland
Midlothian, TX USA