Использование индексов

Для того чтобы упорядочить записи по готовым индексам, можно при открытии таблицы указать соответствующий индексный файл. Для idx-файлов этого

достаточно, а для cdx-файлов требуется еще указать тег индекса (имя нужногоиндекса внутри cdx-файла), по которому происходит упорядочивание.

В простейшем случае для idx-файлов команда имеет вид:

Для cdx-файлов есть два варианта.

Если при индексировании вы задали имя, совпадающее с именем таблицы, индексный файл откроется автоматически при открытии таблицы. То есть в простейшем случае вы используете команду

При этом индексный cdx-файл с именем, таким же как имя таблицы, откроется автоматически, а записи будут отсортированы в соответствии с индексом,указанным в параметре <Имя_тега>.

Если при индексировании вы задали имя, не совпадающее с именем таблицы, придется принудительно открывать cdx-файл, а затем указывать тег, по которому произойдет сортировка. Можно это сделать либо с помощью двух раздельных команд

либо посредством одной, но более сложной команды

Как вы, наверное, поняли, в процессе работы, если требуется сортироватьтаблицу, то пользуясь одним индексом cdx-файла, то другим, используют команду SET ORDER ТО TAG <Имя_тега>.

Опробуем использование индексов на практике. Выполните следующие действия.

1.    Смените текущую папку, выполнив в окне Command команду

CD ?

Откроется окно, в котором нужно найти созданную нами ранее папкуexample.

2.    Выполните в окне Command команду

Если Visual FoxPro выдаст ошибку, значит, таблица в текущей папке ненайдена, следует закрыть окно с ошибкой щелчком мышью по кнопке ОКи еще раз выполнить команду CD ?, как указано в п.1. При успешномоткрытии таблицы никакого сообщения не появится. Проверить, что

таблица открылась, нужно, выполнив команду BROWSE. Окно с именемтаблицы в заголовке появится на экране.

3.    Убедитесь, что записи отсортированы в порядке увеличения значенияполя ID.

4.    Закройте таблицу, используя команду

5.    Выполните в окне Command команду

При успешном открытии таблицы никакого сообщения не появится.Проверить, что таблица открылась, нужно, выполнив команду BROWSE.Окно с именем таблицы в заголовке появится на экране.

6.    Убедитесь, что записи в таблице расположены в соответствии с возрастанием значений поля SUM и записей с суммами больше или равными20000 в таблице нет.

7.    В другой рабочей области откроем таблицу persons. Для этого перейдемв свободную (не занятую открытой таблицей) рабочую область, используя команду

Откроем таблицу persons посредством команды

При успешном открытии таблицы никакого сообщения не появится.Проверить, что таблица открылась, нужно, выполнив команду BROWSE.Окно с именем таблицы в заголовке появится на экране.

8.    Убедитесь, что записи в таблице расположились в соответствии с возрастанием значений поля NAME.

9.    Попробуем расположить записи в соответствии с другим индексом, хранящимся в этом же индексном cdx-файле. Для этого выполните команду

10.    Убедитесь, что записи в таблице расположились в соответствии с возрастанием значений поля ID. Если в окне с таблицей оперативно не обновился порядок строк, щелкните мышью в любом месте э того окна, чтобыоно стало активным.

11.    Закроем обе таблицы, используя команду