Урок 2 Запросы Запрос – это обращение к СУБД для выполнения каких-либо операций с данными. Типы запросов: • выборка (отбор нужной информации) • создание таблицы • обновление (изменение данных) • добавление записей удаление записей Дополнительные возможности запросов: • отбор информации из нескольких связанных таблиц • вывести не все столбцы • вычисляемые поля (общая стоимость) • итоговые расчеты (сумма, среднее) • можно сохранить в базе много разных запросов • служат основой для других запросов и отчетов Главные элементы конструктора запросов: 1 – область данных (таблиц); 2 – область условий отбора; 3 – кнопка запуска запроса. Запрос на выборку Таблица материальные ценности Запрос 1: Наименование - отдел – табельный номер- Дата получения Запрос 2: Наименование - отдел (Таб. Номер не выводим на экран)- Дата получения Запрос 3: Материальные ценности по отделам. Ввести сортировку в поле отдел Запрос 4: Материальные ценности по в 100 отделе. В поле Отдел, условие отбора 100 Запрос 5: сложные условия. Связка AND условие ставится в в строке условие отбора, OR ставится в строке ниже или OR не печатается Запрос 6: с условием получение материальные ценности в ноябре и декабре. Access автоматически заключает строки в кавычки («шар-пей»), даты – в решетки (#01.05.2008#). Номер отдела не выводим на экран отдел не выводим на экран. При задании условия отбора можно использовать операторы >, <, =, >= (больше или равно),<= (меньше или равно), <> (не равно). Запрос 7 выдать материальные ценности полученные в декабре и присвоенными им инвентарными номерами в условиях отбора формируем сложное условие с оператором AND и перетягиваем из таблицы поле инвентарный номер 1) Запрос 8: Ноутбуки и компьютеры в осенние месяцы полученные 500 отделом 9) Запрос 9: Запросы с параметром Когда вы запускаете запрос с параметром, он, в отличие от обычного запроса на выборку, не выполняется сразу, а сначала в диалоговом окне просит вас уточнить некоторые условия отбора. Например, мы хотим получить полную о отделах но изменять запрос мы не хотим попробуем ввести параметр. На том месте, где обычно стоит условие отбора, теперь записан вопрос (в квадратных скобках), который будет задан пользователю. А ответ пользователя, как вы уже догадались, будет подставлен в эту ячейку в качестве условия отбора. Создайте сами запрос с параметром на вывод материальных ценностей 2) Запрос 10: связь таблиц сервис - схема данных Нажатой левой кнопкой мыши соединить название связанных полей. Изменение связей – обеспечение целостности данных Запрос 9: За кем закреплена материальные ценности добавим табельный номер и выведем на экран. П табельному номеру трудно определить владельца. Попробуем ввести в запрос фамилию владельца для этого добавим таблицу сотрудники Для этого правой кнопкой мыши – добавить таблицу – выделить нужную таблицу Сотрудники щелкнуть добавить. Закрыть вкладку. Запрос 10 на создание новой таблицы под именем связь 1. На вкладке Создать в группе Запросы нажмите кнопку Конструктор запросов. 2. В диалоговом окне Добавление таблицы выбираем таблицы материалы и сотрудники. 4. При необходимости добавьте выражения в строку Поле. 5. Можно также добавить любые условия отбора в строку Условия отбора бланка запроса. 6. Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить . 7. При необходимости можно изменять поля, выражения или условия отбора и повторно выполнять запрос до тех пор, пока он не будет возвращать данные, которые нужно поместить в новую таблицу. Запрос 11 запрос с группировкой С помощью построителей выражений мы можем производить операции над одной строкой: складывать значения в ячейках, преобразовывать данные. Посчитать сколько предметов числится за каждым сотрудником Из таблицы связь выбираем поля Фамилия Имя и наименование. Поставить курсор в поле Фамилия Имя и щелкнуть по инструменту ∑ появится новый параметр групповая операция. Устанавливаем Фамилия Имя – группировка, наименование - count Самостоятельно создать запрос для таблицы заказы сосчитать сумму внесенных средств по объектам (выбрать поля Название объекта и Стоимость объект) Запрос 12 Запросы с вычислениями До сих пор мы только отбирали записи по различным условиям. Но Access позволяет не только просматривать данные, записанные в таблицах, но и производить ВЫЧИСЛЕНИЯ: по дате рождения определять возраст; из имени, фамилии и отчества делать фамилию с инициалами; по цене единицы товара и его количества определять общую стоимость покупки; по дате выдачи книги в библиотеке определять величину штрафа при задолженности и многое другое. Для вычислений используются встроенные функции (похожие на те, что есть в Excel). Создать запрос на создании таблица отчисление от выполнения заказов С помощью конструктору взять таблицу сотрудники, поля табельный номер, ФИО, из таблицы Заказы наименование, стоимость. 1. С помощью построителя определим отчисления исполнителя которые составляют 10% от стоимости 2. Открыть таблицы – заказы -стоимость 3. С клавиатуры ввести *0,1 Итог Самостоятельно Создать запрос о определении налогов работающего(налог 13 % от оклада) LIKE позволяет делать отбор по фрагменту строки. Использование LIKE перед условием отбора, это все равно, что включение режима подстановочных знаков в Word (* – любая последовательность символов; ? – любой символ). Значит, чтобы Access мог отыскать английских, ирландских сеттеров и сеттеров-гордонов, нужно написать в условии отбора LIKE *сеттер*. Запросы: из одной таблицы: Таблица сотрудники: 1. Выбрать сотрудников 100 подразделения 2. Выбрать сотрудников с окладом более 30000 тыс. рублей 3. Выбрать моложе 22 лет 01.04.2011 4. Выбрать художников и дизайнеров 5. Выбрать художников и дизайнеров 100 подразделения 6. Выбрать мужчин с высшим образованием, с окладом больше 20 тысяч. Дату рождения и код подразделения не выводить Таблица заказы: 7. Выбрать данные на сдачу объектов в августе выдать (название объекта, код стандарта, номер заказа фамилия заказчика, стоимость объекта) Запрос с параметром: код исполнителя 8. Выбрать название объекта, код стандарта, стоимость объекта Запросы из нескольких таблиц: сотрудники и заказ 9. Выбрать из таблицы «Заказ» - название объекта, номер заказа, из таблицы «сотрудники» - Ф.И.О. сотрудника