PRB: Creating .IDX with "Not Deleted" Will Order IncorrectlyID: Q100031 The information in this article applies to:
SYMPTOMSCreating a .IDX file with "Not Deleted()" and then deleting a record will cause incorrect ordering when a SKIP command is issued. CAUSEThis is expected behavior for a normal (noncompact) .IDX file. RESOLUTIONTo ensure that the SKIP command works correctly, add the COMPACT clause to the following line: INDEX ON <fieldname> TO <filename> FOR !deleted() COMPACT Another solution to this problem is to use a .CDX index file because it already is a compact index file. MORE INFORMATIONSteps to Reproduce Problem1. Create a database named "test" with one numeric field called "num". Enter nine records in the database: three 1's, three 2's, and three 3's. 2. Issue the following command in the Command window: INDEX ON num TO test.idx FOR !deleted() 3. Issue the following commands in the Command window: GO TOP DELETE SKIP After you delete a record and issue a SKIP command, the record pointer will move from record #1 (the first number 1) to record #5 (the first number 2). Additional reference words: FoxDos FoxWin 2.00 2.50 2.50a KBCategory: kbprg kbprb KBSubcategory: FxprgGeneral |
Last Reviewed: June 27, 1995 |