Таблица может имть несколько одновременно открытых индексных файлов; однако, только один мастер-индекс, или другими словами, управляющий индекс, определяет порядок, в котором Visual FoxPro отображает записи или обеспечивает доступ к таблице. Кроме того, определенные команды, такие как команда SEEK, используют управляющий индекс для поиска записей.

NoteЗамечание

Вы не можете выбрать бинарные индексы в качестве управляющих. Visual FoxPro не поддерживает в команде SET ORDER установку на бинарный индексный тэг. Если вы попытаетесь установить порядок по бинарному тэгу, Visual FoxPro сгенерирует ошибку, и текущее упорядочивание будет производится в соответствии с предыдущей установкой. Записи в таблице отображаются и обрабатываются по порядку их номеров, и не в индексированном порядку. Поэтому, Visual FoxPro не поддерживает операций SEEK по бинарным индексам.

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

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

Для назначения индекса в качестве управляющего индекса

  1. Откройте вашу таблицу для просмотра в окне browse.

  2. В меню Table выберите Properties.

  3. В боксе Index order диалогового блока Work Area Properties выберите индекс, который вы желаете использовать.

  4. Выберите OK.

В окне browse отобразятся записи, упорядоченные по указанному вами индексу.

Для установки управляющего индекса программным способом

  • Используте одно из приведенного ниже:

    • Для установки управляющего индекса таблицы используйте команду SET ORDER.

      NoteСовет

      При открытии таблицы с помощью команды USE, включите в ее состав опцию ORDER для того чтобы выполнить то же самое, что выполняет команда SET ORDER.

      У вас нет необходимости использовать SET ORDER для заупщенных запросов.

    • Для установки управляющего индекса для текущей открытой таблицы используйте команду SET INDEX.

      NoteСовет

      При открытии таблицы с помощью команды USE, включите в ее состав опцию INDEX для того чтобы выполнить то же самое, что выполняет команда SET INDEX.

Например, предположим, что для таблицы Customer тестовой базы данных TestData, включенной в поставку Visual FoxPro, создан индекс с именем тэга Country. Приведенный ниже пример использует команду SET ORDER для указания Country в качестве управляющего индекса для отображения записей в таблице, когда вы ее открываете. Команда BROWSE откроет окно browse и отобразит записи, упорядоченные по имени страны:

  CopyCode imageСкопировать код
OPEN DATABASE (HOME(2) + 'Data\TestData')
SET ORDER TO Country
BROWSE

Для получения более подробной информации смотрите описание команд  SET ORDER, SET INDEX, USE и BROWSE.

Смотрите также