Microsoft KB Archive/100031

{| = PRB: Creating .IDX with "Not Deleted" Will Order Incorrectly =
 * width="100%"|

ID: Q100031

The information in this article applies to:


 * Microsoft FoxPro for MS-DOS, versions 1.02, 2.0, 2.5, and 2.5a
 * Microsoft FoxPro for Windows, versions 2.5 and 2.5a

SYMPTOMS
Creating a .IDX file with "Not Deleted" and then deleting a record will cause incorrect ordering when a SKIP command is issued.

CAUSE
This is expected behavior for a normal (noncompact) .IDX file.

RESOLUTION
To ensure that the SKIP command works correctly, add the COMPACT clause to the following line:

INDEX ON TO 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
 * }