Система управления базами данных Visual FoxPro5.0 - от начальных навыков к профессиональной работе. Крушель Е.Г - 35 стр.

UptoLike

Составители: 

81
BROWSE && на экране - записи по убыванию оценок.
SET ORDER TO TAG t2,t1
USE students INDEX multiind ORDER 2
BROWSE && на экране - записи по алфавиту.
USE students INDEX multiind ORDER 1
BROWSE && на экране - записи по убыванию оценок.
4.4. Поиск записей в индексированных и неиндексированных файлах.
4.4.1. Поиск записей в индексированных файлах осуществляется
с помощью
совокупности команд открытия индексированных файлов (п.4.3) и одной из команд
поиска (FIND или SEEK), в которых должно быть задано значение ключа.
Если Вы не хотите указать значение ключа точно (например, не хотите или не
помните точно искомой фамилии и ищете запись только по первой букве либо по
нескольким
первым буквам), следует использовать конфигурацию виртуальной машины
Visual FoxPro 5.0 командой из группы SET: SET EXACT ON и SET EXACT OFF.
Эти режимы возможны только для символьных переменных.
Подробнее:
SET EXACT OFF
- отключение режима, при котором требуется полное соответствие наименования
ключа в командах FIND, SEEK наименованию, использованному при создании
индексного файла.
SET EXACT ON
- включение режима точного
соответствия. По умолчанию в Visual FoxPro 5.0 установлено
SET EXACT OFF.
Команды поиска FIND имеют форму:
FIND <значение_ключа_индексирования>
SEEK <значение_ключа_индексирования>
По любой из этих команд будет найдена запись, в которой значение ключа точно
(если SET EXACT ON) или приблизительно (если SET EXACT OFF) совпадает с
заданным в команде <
значением_ключа_индексирования>. Если ключ - числовой, то
совпадение требуется точное, если включен режим SET NEAR OFF, либо
приблизительное, с округлением - если SET NEAR ON.
По умолчанию в Visual FoxPro 5.0 установлено:
SET EXACT OFF
SET NEAR OFF
Если в файле имеется несколько записей с одинаковым значением ключа, то по
команде FIND файловый указатель
остановится на «первой встреченной».
Две почти идентичные по назначению команды (FIND, SEEK) введены для
совместимости Visual FoxPro 5.0 с другими (более ранними) версиями Fox.
Освоим процедуру поиска на примерах
.
а) Если у Вас сохранились индексные файлы, то можно использовать их. Если нет -
выполните следующие предваряющие команды:
USE students
INDEX ON ФИО TO stud01
INDEX ON Балл_сес01 TO stud02
INDEX ON - Балл_сес01 TO stud03
INDEX ON -( Балл_сес01 + Балл_сес02)/2 TO stud04
SET
INDEX TO stud01,stud02,stud03,stud04
(по данным командам файл students.dbf будет открыт в рабочей области A,
проиндексирован по алфавиту фамилий, по возрастанию балла за сессию 01, по убыванию
балла за сессию 01, по убыванию среднего за сессии 01 и 02 балла. Будут открыты
                                         81

BROWSE              && на экране - записи по убыванию оценок.
SET ORDER TO TAG t2,t1
USE students INDEX multiind ORDER 2
BROWSE                      && на экране - записи по алфавиту.
USE students INDEX multiind ORDER 1
BROWSE                      && на экране - записи по убыванию оценок.

         4.4. Поиск записей в индексированных и неиндексированных файлах.

       4.4.1. Поиск записей в индексированных файлах осуществляется с помощью
совокупности команд открытия индексированных файлов (п.4.3) и одной из команд
поиска (FIND или SEEK), в которых должно быть задано значение ключа.
       Если Вы не хотите указать значение ключа точно (например, не хотите или не
помните точно искомой фамилии и ищете запись только по первой букве либо по
нескольким первым буквам), следует использовать конфигурацию виртуальной машины
Visual FoxPro 5.0 командой из группы SET: SET EXACT ON и SET EXACT OFF.
       Эти режимы возможны только для символьных переменных.
        Подробнее:
                                   SET EXACT OFF
       - отключение режима, при котором требуется полное соответствие наименования
ключа в командах FIND, SEEK наименованию, использованному при создании
индексного файла.
                                    SET EXACT ON
- включение режима точного соответствия. По умолчанию в Visual FoxPro 5.0 установлено
SET EXACT OFF.
       Команды поиска FIND имеют форму:
FIND <значение_ключа_индексирования>
SEEK <значение_ключа_индексирования>
       По любой из этих команд будет найдена запись, в которой значение ключа точно
(если SET EXACT ON) или приблизительно (если SET EXACT OFF) совпадает с
заданным в команде <значением_ключа_индексирования>. Если ключ - числовой, то
совпадение требуется точное, если         включен режим SET NEAR OFF, либо
приблизительное, с округлением - если SET NEAR ON.
       По умолчанию в Visual FoxPro 5.0 установлено:
       SET EXACT OFF
       SET NEAR OFF
       Если в файле имеется несколько записей с одинаковым значением ключа, то по
команде FIND файловый указатель остановится на «первой встреченной».
       Две почти идентичные по назначению команды (FIND, SEEK) введены для
совместимости Visual FoxPro 5.0 с другими (более ранними) версиями Fox.

      Освоим процедуру поиска на примерах.
      а) Если у Вас сохранились индексные файлы, то можно использовать их. Если нет -
выполните следующие предваряющие команды:
USE students
INDEX ON ФИО TO stud01
INDEX ON Балл_сес01 TO stud02
INDEX ON - Балл_сес01 TO stud03
INDEX ON -( Балл_сес01 + Балл_сес02)/2 TO stud04
SET INDEX TO stud01,stud02,stud03,stud04
(по данным командам файл students.dbf будет открыт в рабочей области A,
проиндексирован по алфавиту фамилий, по возрастанию балла за сессию 01, по убыванию
балла за сессию 01, по убыванию среднего за сессии 01 и 02 балла. Будут открыты