Одним из основных назначений разработанного приложения является быстрый поиск информации в базе данных и получение ответов на разнообразные вопросы. Для этих целей в Visual FoxPro используются средства, называемые запросами.
Например, вам необходимо выбрать из таблиц информацию о клиентах, проживающих в Москве и Московской области, или сформировать список клиентов, купивших в последний месяц товаров на сумму свыше 5000 рублей, и упорядочить их в алфавитном порядке по полю, содержащему фамилии клиентов. Для решения таких задач предназначен конструктор запросов и команда SELECT языка Visual FoxPro.
С помощью конструктора запросов Visual FoxPro вы можете формировать различной сложности критерии для выбора записей из одной или нескольких таблиц, указывая при этом, какие поля должны быть отображены в запросе. Над полями, выбираемыми из таблиц с помощью запросов, можно выполнять различные вычисления.
Рис. 9.1. Ввод условия выборки в мастере запросов
Результатом запроса является таблица, которую вы можете сохранить в массиве, в создаваемой новой таблице, отобразить на экране в режиме Browse (Просмотр) или вывести в виде отчета.
Для создания запросов вы можете использовать мастер запросов, который последовательно запрашивает наименования таблиц, используемых в запросе, перечень полей таблиц, критерий упорядочения и условия фильтрации данных. На рис. 9.1 приведено диалоговое окно мастера, позволяющее сформировать условия фильтрации выбираемых из таблицы данных. Мы не будем рассматривать создание запросов с помощью мастера, т. к. конструктор запросов достаточно прост и работа в нем у вас не вызовет затруднений.
Для создания запроса в окне конструктора запросов выполните следующие действия:
На экране появляется окно конструктора запросов (рис. 9.2), которое содержит названия выбранных таблиц, а в основном меню появляется пункт Query (Запрос). Можно приступать к формированию условий запроса.
Совет
Для открытия ранее созданного запроса в окне конструктора запросов на вкладке Data (Данные) окна проекта в группе Queries (Запросы) найдите модифицируемый запрос, установите на него курсор и нажмите кнопку Modify (Модифицировать).
Далее, открывая в конструкторе запросов необходимые вкладки, вы выполняете следующие действия:
В верхней части окна конструктора запросов расположена панель, на которой отображаются используемые в запросе таблицы. Ниже находятся вкладки, предназначенные для выбора полей запроса и формирования условий выборки. Назначение этих вкладок приведено в табл. 9.1.
Рис. 9.2. Окно конструктора запросов с выбранной таблицей клиентов
Таблица 9.1. Назначение вкладок окна конструктора запросов
Вкладка | Назначение |
Fields (Поля) | Позволяет указать поля исходных таблиц, выбираемые в результирующий запрос |
Join (Объединение) | Позволяет задать условия объединения таблиц |
Filter (Фильтр) | Позволяет определить фильтры, накладываемые для выбора записей |
Order By (Упорядочение) | Позволяет задать критерии упорядочения данных |
Group By (Группировка) | Позволяет задать условия группировки данных |
Miscellaneous (Разное) | Позволяет задать дополнительные условия, такие как признак выборки повторяющихся значений, количество или процент выбора данных |