5.3 Отбор данных с помощью запросов
Запросы являются основным средством просмотра, отбора, изменения и анализа информации, которая содержится в одной или нескольких таблицах базы данных. Существуют различные виды запросов, но наиболее распространенными являются запросы на выборку.
Откройте базу данных «Фирма», созданную ранее.
Выполните команду: вкладка ленты Создание → Мастер запросов → Простой запрос.
В появившемся диалоговом окне (рисунок 5.3) укажите таблицу «Сотрудники» и выберите поля «Фамилия», «Имя», «Телефон». Нажмите кнопку «Далее».
Введите имя запроса – «Телефоны» – и нажмите кнопку «Готово». Перед вами появится запрос, в котором можно просмотреть телефоны сотрудников.
Следующий запрос попробуйте создать с помощью «Конструктора», для этого выполните команду: вкладка ленты «Создание» → «Конструктор запросов».
В диалоговом окне «Добавление таблиц» выберите таблицу «Клиенты» и щелкните на кнопке «Добавить», а затем – на кнопке «Закрыть».
Чтобы перенести нужные поля в бланк запроса, необходимо по ним дважды щелкнуть левой кнопкой мыши (рисунок 5.4).
Рисунок 5.3 – Создание простого запроса
Рисунок 5.4 – Создание запроса в режиме Конструктора
Чтобы отсортировать записи в поле «Название компании» в алфавитном порядке, необходимо в раскрывающемся списке строки «Сортировка» выбрать пункт «по возрастанию».
Сохраните запрос с именем «Адреса клиентов».
Самостоятельно создайте запрос «Дни рождения», в котором можно будет просмотреть дни рождения сотрудников.
Допустим, мы хотим узнать, у кого из сотрудников день рождения в текущем месяце, например, в апреле. Для этого откройте запрос в режиме «Конструктора».
В строке «Условие отбора» для поля «Дата рождения» введите значение *.04.*. В данной записи * означают, что дата и год рождения могут быть любыми, а месяц 4-м (т. е. апрель). После этого окно запроса должно выглядеть так, как оно представлено на рисунок 5.5.
Закройте «Конструктор» и просмотрите полученный результат. Если запросе Дни рождения нет ни одной записи, значит, в таблице «Сотрудники» нет ни одного человека, родившегося в апреле. Добавьте в таблицу «Сотрудники» несколько человек, родившихся в апреле, и посмотрите, как изменится запрос. Запросы автоматически обновляются при каждом открытии.
Рисунок 5.5 – Создание запроса
Если нужно узнать, кто из сотрудников родился в мае, то придется создать новый запрос или изменить условие в существующем запросе Дни рождения. Если приходится часто выполнять запрос, но каждый раз с новыми значениями условий используют запрос с параметром. Чтобы создать запрос с параметром, пользователю необходимо ввести текст сообщения в строке Условие отбора бланка запроса (рисунок 55.6).
Рисунок 5.6 – Создание запроса с параметром
Запись Like[Введите дату] означает, что при открытии запроса поя-вится диалоговое окно с текстом «Введите дату» и полем для ввода условия отбора. Если ввести условие *.04.*, то в запросе появится список со-трудников, родившихся в апреле. Запустите запрос еще раз и введите значение *.05.*, посмотрите, как изменился запрос.
Измените запрос «Телефоны» так, чтобы при его запуске выводилось диалоговое окно с сообщением «Введите фамилию». Поскольку в запросе нужно вывести конкретную фамилию, в условии отбора слово Like писать не надо.
Измените запрос «Телефоны» так, чтобы при его запуске запрашивались не только фамилия, но и имя сотрудника.
Самостоятельно создайте запрос «Выполненные заказы», содержащий следующие сведения: фамилия и имя сотрудника, название компании, с которой он работает, отметка о выполнении и сумма заказа. Данные запроса возьмите из нескольких таблиц.
В условии отбора для логического поля «Отметка о выполнении» введите «Да», чтобы в запросе отображались только выполненные заказы.
Сделайте так, чтобы столбец «Отметка о выполнении» не выводился на экран.
Создайте запрос «Сумма заказа», в котором будут отображаться заказы на сумму более 50 000 тенге.
Измените запрос, чтобы сумма заказа была от 20 000 до 50 000 тенге. Для данных запросов в условии отбора можно использовать операторы сравнения >, =, <=, < > и логические операторы And, Or, Not и др.
Иногда в запросах требуется произвести некоторые вычисления, например, посчитать подоходный налог 13 % для каждой сделки. Для этого откройте запрос «Сумма заказа» в режиме «Конструктора».
В пустом столбце бланка запроса щелкните правой кнопкой мыши на ячейке «Поле» и в появившемся контекстном меню выберите команду «Построить». Перед вами появится окно «Построитель выражений» (рисунок 6.7), который состоит из трех областей: поля выражения, кнопок операторов и элементов выражения. Сверху располагается поле выражения, в котором оно и создается. Вводимые в это поле элементы выбираются в двух других областях окна «Построителя».
В левом списке откройте папку «Запросы» и выделите запрос «Сумма заказа». В среднем списке выделите поле «Сумма» и нажмите кнопку «Вставить». Идентификатор этого поля появится в поле выражения «Построителя».
Щелкните на кнопке * и введите 0,13 (рисунок 5.7). Таким образом, посчитаем подоходный налог 13 %.
Рисунок 5.7 – Построитель выражений
Нажмите кнопку «ОК», после чего в ячейке свойства «Поле» появится значение «Выражение1: [Сумма]*0,13».
Замените «Выражение1» на «Налог» и закройте «Конструктор».
Откройте запрос и посмотрите, что у вас получилось.
Используя «Построитель выражений», добавьте в запрос «Сумма заказа» поле «Прибыль», в котором будет вычисляться доход от заказа (т. е. сумма минус налог).
Создайте запрос «Менеджеры», с помощью которого в таблице «Сотрудники» найдите всех менеджеров фирмы.
Достарыңызбен бөлісу: |