- •Формирование и выполнение запросов в ms Access 2007 Запросы. Выборки данных.
- •1 Запросы на выборку. Бланк запроса.
- •1.1. Создание запроса с помощью Конструктора запросов
- •1.2 . Формирование простого запроса с помощью Мастера запросов
- •1.3. Создание запроса в режиме sql
- •2 Запросы с группировкой данных
- •3 Перекрестные запросы
- •4 Запросы на изменение данных
- •4.1. Запросы на удаление данных
- •4.2. Запросы на обновление данных
Формирование и выполнение запросов в ms Access 2007 Запросы. Выборки данных.
При работе с таблицами имеются ограничения:
нельзя использовать вычисляемые поля; Например, если в таблице есть поля «Цена» и «Количество», то нельзя вывести в таблицу расчетное значение «Стоимость»=Цена*Количество;
при выводе данные таблиц отсортированы по полю первичного ключа или в соответствии с заданной сортировкой;
нельзя соединить данные двух таблиц, имеющих общее поле.
Более эффективным средством работы с данными являются запросы. Запросы позволяют устранить указанные выше ограничения. При выполнении запроса Access выбирает записи, удовлетворяющие заданному критерию, из нескольких таблиц или других запросов и отображает результат выборки данных в виде виртуальной таблицы.
При этом данные запроса в отличие от таблиц физически не хранятся в БД.
Существуют следующие основные виды запросов:
запрос на выборку. Данные извлекаются из одной или нескольких таблиц или других запросов и отображаются также в виде виртуальной таблицы;
запросы с группировкой; строки таблиц, входящих в запрос выборки, группируются (объединяются) по значениям заданных полей;
перекрестные запросы; данные из одной (нескольких) таблиц суммируются и выводятся в виде электронной таблицы-матрицы; удобно использовать для анализа данных
запросы на изменение (удаление) данных.
Запросы на выборку могут наряду с таблицами служить источниками данных при разработке форм, отчетов.
1 Запросы на выборку. Бланк запроса.
Запросы на выборку позволяют выбрать данные из одной или нескольких таблиц по заданным критериям и отобразить их в режиме таблицы.
В Microsoft Access 2007 используются три основных способа создания нового запроса на выборку:
- создание запроса с помощью Конструктора запросов;
- создание запроса с использованием Мастера запросов;
- создание запроса в режиме SQL-редактора.
1.1. Создание запроса с помощью Конструктора запросов
Создание запроса рассмотрим на примере БД учета заключения договоров за обучение.
База данных содержит информацию о студентах учебного заведения, обучающихся на договорной основе.
Информация о заключенных договорах фиксируется в таблице Договор.
Пример 1. Создадим запрос, содержащий информацию о договорах оплаты за обучение с указанием фамилии студента, даты заключения, факультета, специальности, стоимости обучения, плана приема.
На ленточной панели инструментов Создание нажать кнопку Конструктор запросов. Будет выбран режим создания запроса в ручном режиме
Открывается окно с бланком запроса и окно «Добавление таблицы».
Так как запрос создается на основе одной или нескольких таблиц или запросов, необходимо выбрать источники данных – таблицы или запросы. В примере выделяем все таблицы и нажимаем кнопку Добавить, затем кнопку Закрыть.
В окне «Бланк запроса» формируем запрос
Бланк запроса
а)Добавляем поля в бланк запроса одним из следующих способов:
выбор из списка полей таблиц-источников в колонке бланка запроса
двойной клик на поле в таблице-источнике
перетаскивание поле из таблицы-источника в бланк
б)Задаем другие свойства полей запроса:
Сортировка – задает тип сортировки (по возрастанию/по убыванию/отсутствует)
Вывод на экран – задает необходимость отображения поля в результате; по умолчанию флаг включен
Условия отбора – задает критерии отбора данных;
Дополнительные свойства (маска ввода, формат вывода) можно задать через контекстное меню
Выполняем (тестируем) запрос, нажимая кнопку Выполнить
Выполнение запроса возвращает следующие данные
Нажимаем кнопку Сохранить и в окне Сохранение задаем имя запроса, под которым он будет сохранен
Задание условий отбора. Параметры
В запросах часто необходимо задать некоторые условия отбора данных. Для этого используется свойство Условия отбора ;
Условия , записанные друг под другом в одной колонке, соединяются операцией ИЛИ. Условия , записанные друг в разных колонках, соединяются операцией И.
В условии для текстовых полей можно использовать символы шаблона
* - несколько произвольных символов;
? – один произвольный символ
Примеры:
Л* - любые текстовые строки, начинающиеся с Л,
*Л - любые текстовые строки, заканчивающиеся на Л,
*авто* - любые текстовые строки, содержащие фрагмент «авто»,
1? - любые двухсимвольные строки, начинающиеся с «1» .
Пример 2. Усложним запрос из примера 1, добавив условия: отобрать данные по студентам, имеющих фамилию, начинающиеся с букв Л или С, и стоимостью обучения более 25 000.
Результат выполнения запроса
Если необходимо многократно повторять запрос, меняя только условия отбора, можно использовать параметры. Параметр – это значение в условии отбора, которое запрашивается при открытии запроса. Имя параметра формируется по таким же правилам, что и имя поля, и заключается в квадратные скобки.
Пример 3. Отобрать данные, относящиеся к периоду до заданной даты. Используем параметр [До даты включительно]
Примечание: в условии на равенство знак «равно» опускается.
При выполнении запроса появится окно с запросом параметра
По умолчанию введенное значение преобразуется в символьный тип. Чтобы задать другой тип данных, необходимо на ленточной панели инструментов Конструктор нажать кнопку Параметры и задать тип данных
Результат выполнения запроса при задании даты 07.10.2014
Вычисляемые поля
Вычисляемые поля рассчитываются на основе других полей таблицы или запроса.
Формула вычисления задается выражением.
Например,
Стоимость работы: [ОбъемРаботы]*[Стоимость1часа].
здесь:
Стоимость работы – имя вычисляемого поля
ОбъемРаботы и Стоимость1часа - - имена полей, используемые в формуле
Значения вычисляемых полей изменять нельзя.
Полученное значение можно отформатировать:
задать для вычисляемого поля свойство «Формат поля», для этого на поле надо щелкнуть правой кнопкой мыши и выбрать пункт Свойства
Добавление в запрос вычисляемого поля Стоимость
Результат
