Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Формирование и выполнение запросов в MS Access 2007.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.52 Mб
Скачать

Формирование и выполнение запросов в ms Access 2007 Запросы. Выборки данных.

При работе с таблицами имеются ограничения:

  • нельзя использовать вычисляемые поля; Например, если в таблице есть поля «Цена» и «Количество», то нельзя вывести в таблицу расчетное значение «Стоимость»=Цена*Количество;

  • при выводе данные таблиц отсортированы по полю первичного ключа или в соответствии с заданной сортировкой;

  • нельзя соединить данные двух таблиц, имеющих общее поле.

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

При этом данные запроса в отличие от таблиц физически не хранятся в БД.

Существуют следующие основные виды запросов:

  • запрос на выборку. Данные извлекаются из одной или нескольких таблиц или других запросов и отображаются также в виде виртуальной таблицы;

  • запросы с группировкой; строки таблиц, входящих в запрос выборки, группируются (объединяются) по значениям заданных полей;

  • перекрестные запросы; данные из одной (нескольких) таблиц суммируются и выводятся в виде электронной таблицы-матрицы; удобно использовать для анализа данных

  • запросы на изменение (удаление) данных.

Запросы на выборку могут наряду с таблицами служить источниками данных при разработке форм, отчетов.

1 Запросы на выборку. Бланк запроса.

Запросы на выборку позволяют выбрать данные из одной или нескольких таблиц по заданным критериям и отобразить их в режиме таблицы.

В Microsoft Access 2007 используются три основных способа создания нового запроса на выборку:

- создание запроса с помощью Конструктора запросов;

- создание запроса с использованием Мастера запросов;

- создание запроса в режиме SQL-редактора.

1.1. Создание запроса с помощью Конструктора запросов

Создание запроса рассмотрим на примере БД учета заключения договоров за обучение.

База данных содержит информацию о студентах учебного заведения, обучающихся на договорной основе.

Информация о заключенных договорах фиксируется в таблице Договор.

Пример 1. Создадим запрос, содержащий информацию о договорах оплаты за обучение с указанием фамилии студента, даты заключения, факультета, специальности, стоимости обучения, плана приема.

  1. На ленточной панели инструментов Создание нажать кнопку Конструктор запросов. Будет выбран режим создания запроса в ручном режиме

  1. Открывается окно с бланком запроса и окно «Добавление таблицы».

Так как запрос создается на основе одной или нескольких таблиц или запросов, необходимо выбрать источники данных – таблицы или запросы. В примере выделяем все таблицы и нажимаем кнопку Добавить, затем кнопку Закрыть.

  1. В окне «Бланк запроса» формируем запрос

Бланк запроса

а)Добавляем поля в бланк запроса одним из следующих способов:

  • выбор из списка полей таблиц-источников в колонке бланка запроса

  • двойной клик на поле в таблице-источнике

  • перетаскивание поле из таблицы-источника в бланк

б)Задаем другие свойства полей запроса:

  • Сортировка – задает тип сортировки (по возрастанию/по убыванию/отсутствует)

  • Вывод на экран – задает необходимость отображения поля в результате; по умолчанию флаг включен

  • Условия отбора – задает критерии отбора данных;

Дополнительные свойства (маска ввода, формат вывода) можно задать через контекстное меню

  1. Выполняем (тестируем) запрос, нажимая кнопку Выполнить

Выполнение запроса возвращает следующие данные

  1. Нажимаем кнопку Сохранить и в окне Сохранение задаем имя запроса, под которым он будет сохранен

Задание условий отбора. Параметры

В запросах часто необходимо задать некоторые условия отбора данных. Для этого используется свойство Условия отбора ;

Условия , записанные друг под другом в одной колонке, соединяются операцией ИЛИ. Условия , записанные друг в разных колонках, соединяются операцией И.

В условии для текстовых полей можно использовать символы шаблона

* - несколько произвольных символов;

? – один произвольный символ

Примеры:

Л* - любые текстовые строки, начинающиеся с Л,

*Л - любые текстовые строки, заканчивающиеся на Л,

*авто* - любые текстовые строки, содержащие фрагмент «авто»,

1? - любые двухсимвольные строки, начинающиеся с «1» .

Пример 2. Усложним запрос из примера 1, добавив условия: отобрать данные по студентам, имеющих фамилию, начинающиеся с букв Л или С, и стоимостью обучения более 25 000.

Результат выполнения запроса

Если необходимо многократно повторять запрос, меняя только условия отбора, можно использовать параметры. Параметр это значение в условии отбора, которое запрашивается при открытии запроса. Имя параметра формируется по таким же правилам, что и имя поля, и заключается в квадратные скобки.

Пример 3. Отобрать данные, относящиеся к периоду до заданной даты. Используем параметр [До даты включительно]

Примечание: в условии на равенство знак «равно» опускается.

При выполнении запроса появится окно с запросом параметра

По умолчанию введенное значение преобразуется в символьный тип. Чтобы задать другой тип данных, необходимо на ленточной панели инструментов Конструктор нажать кнопку Параметры и задать тип данных

Результат выполнения запроса при задании даты 07.10.2014

Вычисляемые поля

Вычисляемые поля рассчитываются на основе других полей таблицы или запроса.

Формула вычисления задается выражением.

Например,

Стоимость работы: [ОбъемРаботы]*[Стоимость1часа].

здесь:

Стоимость работы – имя вычисляемого поля

ОбъемРаботы и Стоимость1часа - - имена полей, используемые в формуле

Значения вычисляемых полей изменять нельзя.

Полученное значение можно отформатировать:

задать для вычисляемого поля свойство «Формат поля», для этого на поле надо щелкнуть правой кнопкой мыши и выбрать пункт Свойства

Добавление в запрос вычисляемого поля Стоимость

Результат