ОТ ФИЛЬТРА К ЗАПРОСУ

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

Выберите вкладку “Запрос” (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” (“Или”).