Поработав с фильтром некоторое время, мы захотим задавать вопросы нашей базе данных в более изысканной форме. Вот для этого и существуют запросы. Приступим к созданию первого запроса. В этом запросе нас будет интересовать информация о номерах категории люкс.
Выберите вкладку “Запрос” (Query). Нажмите кнопку “Создать”, в окне “Создание запроса” выберите опцию “Новый запрос” (New Query) и нажмите “OK”.
После этого откроется окно “Запрос — выборка: Запрос1”. Запросы в отличие от таблиц имеют типы. Всего существует шесть типов запросов:
- выборка (select)
- перекрестный (crosstab)
- создание таблицы (make table)
- обновление (update)
- добавление (append)
- удаление (delete)
Тип запроса можно выбрать либо с помощью соответствующих опций в меню “Запрос”, либо с помощью одноименных кнопок на панели инструментов “Конструктор запросов”.
Изучение запросов начнем с запроса – выборки. Этот тип присваивается создаваемому запросу по умолчанию – это видно из заголовка окна “Запрос –выборка: Запрос1”. Из названия типа запроса видно, что он предназначен для выбора определенных данных.
Т.к. запрос — это способ задать вопрос базе данных, а данные “живут” в таблицах, то вначале необходимо определить те таблицы, с которыми запрос будет работать. Запрос одновременно может работать с несколькими таблицами, но начнем с одной — “Этажи”. Для этого в открывшемся окне “Добавление таблицы” выберем таблицу “Этажи” и нажмем “Добавить” и “Закрыть”.
На экране мы видим знакомое по фильтру окно: верхняя часть содержит список полей, а в нижней части находится пустая таблица, в которой к строкам: “Поле”, “Сортировка”, “Условие отбора” и “или” добавилась строка “Вывод на экран”.
Мы можем к этим строкам добавлять (или убирать) строку “Имя таблицы”. Это можно делать с помощью включения/выключения опции “Имена таблицы” в меню “Вид” или с помощью соответствующей кнопки на панели инструментов. На этой кнопке изображены буквы “XYZ” над значком таблицы.
При работе с запросами, как и с таблицами, можно работать в режиме конструктора и в режиме таблицы. При создании запроса мы работаем в режиме конструктора.
Кроме режимов конструктора и таблицы в запросе есть еще третий режим SQL (Structured Query Language) –структурированный язык запросов. На этом языке разрабатываются многие программные продукты. Мы не рекомендуем Вам работать в этом режиме – для него нужны дополнительные знания. Но для удовлетворения первого интереса можно попереключатъ режим конструктора и режим SQL. На кнопке этого режима и отображены буквы SQL.
Мы можем добавлять таблицы в запросе либо с помощью команды “Запрос — Добавить таблицу”, либо с помощью кнопки “Добавить таблицу”. При этом появляется уже знакомое окно “Добавление таблицы”.
Мы можем удалять таблицы из запроса (из списка полей), нажав клавишу <DEL>, предварительно щелкнув на той таблице, которую хотим удалить. Таким образом, в запросе таблицы могут отсутствовать вообще, тем не менее запрос будет иметь имя и тип. Мы можем менять тип запроса.
Итак, сконструируем запрос-выборку “Люкс”. Первым столбцом таблицы запроса назначим поле “Номер комнаты”. В строки “Условие отбора” и “или” введем: 101, 201, 301. Закроем запрос (команда “Закрыть” в кнопке системного меню окна “Запрос-выборка: Запрос1”, “Да”) и в окне “Сохранение” присвоим ему имя “Люкс” и нажмем “OK”.
Выберем запрос “Люкс” (пока он один и выбрать-то нечего) и нажмем кнопку “Открыть”, либо дважды щелкнем на нем. При этом мы работаем с запросом в режиме таблицы. Мы видим, что запрос состоит из одного поля “Номер комнаты”, в котором три записи: 101, 201 и 301. В отличие от фильтра мы видим не всю таблицу, а только те поля, которые сконструированы в запросе. В запросе появляются только те поля (столбцы), которые в строке “Вывод на экран” помечены крестиком (в режиме конструктора). Если поле не помечено, то оно и не выводится в запросе.
Закроем запрос и вновь откроем его в режиме конструктора. Строка “или” опустела, а в строке “Условие отбора” появилось выражение:
“101” Or “201” Or “301”
В этом выражении номера комнат разделены символом “Or” (“Или”).