Создание простых и сложных запросов в СУБД Access
Запросы являются основным средством просмотра, отбора, изменения и анализа информации, которая содержится в одной или нескольких таблицах базы данных.
Существуют различные виды запросов, но наиболее распространенными являются запросы на выборку.
1. Откройте базу данных «Фирма», созданную заранее.
2. Выполните команду: вкладка ленты Создание – Мастер запросов – Простой запрос.
3. В появившемся диалоговом окне (рисунок 3) укажите таблицу Сотрудники и выберите поля Фамилия, Имя, Телефон. Нажмите кнопку Далее.
Рисунок 3. Создание простого запроса
4. Введите имя запроса – Телефоны – и нажмите кнопку Готово. Перед вами появится запрос, в котором можно просмотреть телефоны сотрудников.
5. Следующий запрос попробуйте создать с помощью Конструктора, для этого выполните команду: вкладка ленты Создание – Конструктор запросов. В диалоговом окне Добавление таблиц выберите таблицу Клиенты и щелкните на кнопке Добавить, а затем – на кнопке Закрыть.
6. Чтобы перенести нужные поля в бланк запроса, необходимо по ним дважды щелкнуть левой кнопкой мыши (рисунок 4).
Рисунок 4. Создание запроса в режиме Конструктора
7. Чтобы отсортировать записи в поле Название компании в алфавитном порядке, необходимо в раскрывающемся списке строки Сортировка выбрать пункт по возрастанию. Сохраните запрос с именем «Адреса клиентов».
8. Самостоятельно создайте запрос «Дни рождения», в котором можно будет просмотреть дни рождения сотрудников.
9. Допустим, мы хотим узнать, у кого из сотрудников день рождения в текущем месяце, например в апреле. Для этого откройте запрос в режиме Конструктора. В строке Условие отбора для поля «Дата рождения» введите значение *.04.* . В данной записи * означают, что дата и год рождения могут быть любыми, а месяц 4-ым (т.е. апрель). После этого окно запроса должно выглядеть так, кА оно представлено на рисунке 5.
Рисунок 5. Создание запроса
10. Закройте Конструктор и просмотрите полученный результат. Если в запросе дни рождения нет ни одной записи, значит, в таблице сотрудники нет ни одного человека, родившегося в апреле. Добавьте в таблицу Сотрудники несколько человек, родившихся в апреле, и просмотрите, как изменится запрос. Запросы автоматически обновляются при каждом открытии.
11. Если нам нужно узнать, кто из сотрудников родился в мае, то придется создавать новый запрос или изменить условие в существующем запросе Дни рождения. Данная процедура является неудобной и занимает много времени. Если приходится часто выполнять запрос, но каждый раз с новыми значениями условий используется запрос с параметром. При запуске такого запроса на экран выводится окно для ввода значения в качестве условия отбора. Чтобы создать запрос с параметром, пользователю необходимо ввести текст сообщения в строке Условие отбора бланка запроса. (рисунок 6).
Рисунок 6. Создание запроса с параметром
12. Запись Like[Введите дату] означает, что при открытии запроса появится диалоговое окно (рисунок 7) с текстом «Введите дату» и полем для ввода условия отбора. Если ввести условие *.04.*, то в запросе появится список сотрудников родившихся в апреле. Запустите запрос еще раз и введите значение *.05.*, посмотрите, как изменился запрос.
Рисунок 7. Окно для ввода условия отбора
13. Измените запрос «Телефоны» так, чтобы при его запуске выводилось диалоговое окно с сообщением «Введите фамилию». Поскольку в запросе нужно ввести конкретную фамилию, в условии отбора слово Like писать не надо.
14. Измените запрос «Телефоны» так, чтобы при его запуске запрашивались не только фамилия, но и имя сотрудника.
15. Самостоятельно создайте запрос «Выполненные заказы», содержащий следующие сведения: фамилия и имена сотрудника, название компании, с которой он работает, отметка о выполнении и сумма заказа. Данные запроса возьмите в нескольких таблицах. В условии отбора для логического поля Отметка о выполнении введите Да, чтобы в запросе отражались только выполненные заказы.
16. Сделайте так, чтобы столбец Отметка о выполнении не выводился на экран.
17. Создайте запрос Сумма заказа, в котором будут отображаться заказы на сумму более 50 000 руб.
18. Измените запрос, чтобы сумма заказа была от 20 000 до 50 000 руб. для данных запросов в условии отбора можно использовать операторы сравнения >,<,=, >=, <=, <> и логические операторы And, Or, Not и другие.
19. Иногда в запросах требуется произвести некоторые вычисления, например посчитать подоходный налог 13% для каждой сделки. Для этого откройте запрос Сумма заказа в режиме Конструктора. В пустом столбце бланка запроса щелкните правой кнопкой мыши на ячейке поле и в появившемся контекстном меню выберите команду Построить. Перед вами появится окно Построитель выражений (рисунок 8), который состоит из трех областей: поля выражения, кнопок операторов и элементов выражения. Сверху располагается поле выражения, в котором оно и создается. Вводимые в это поле элементы выбираются в двух других областях окна Построителя.
20. В левом списке откройте папку Запросы и выделите запрос Сумма заказа. В среднем списке выделите поле Сумма и нажмите кнопку Вставить. Идентификатор этого поля появится в поле Построителя.
21. Щелкните на кнопке * и введите 0,13 (рисунок 8). Таким образом мы посчитаем подоходный налог 13%.
Рисунок 8. Построитель выражений
22. Нажмите кнопку ОК, после чего в ячейке свойства Поле появится значение «Выражение1:[Сумма]*0,13».Замените Выражение1 на Налог и закройте Конструктор. Откройте запрос и посмотрите, что у вас получилось.
23. Используя Построитель выражений, добавьте в запрос Сумма заказа поле Прибыль, в котором будет вычисляться доход от заказа (т.е. сумма минус налог).
24. Создайте запрос Менеджеры, с помощью которого в таблице сотрудники найдите всех менеджеров фирмы.
Дата добавления: 2015-07-14; просмотров: 3376;