Microsoft KB Archive/100031
PRB: Creating .IDX with "Not Deleted" Will Order Incorrectly
The information in this article applies to:
Creating a .IDX file with "Not Deleted()" and then deleting a record will cause incorrect ordering when a SKIP command is issued.
This is expected behavior for a normal (noncompact) .IDX file.
To 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.
Steps to Reproduce Problem
1. 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