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