
MS Access Запросы
ЗАпросы
Запрос – объект базы данных, предназначенный для обработки данных.
С помощью запросов можно:
отобрать записи, соответствующие заданным условиям;
объединить в виде одной таблицы данные из нескольких таблиц;
выполнить вычисления над значениями полей.
Результат выполнения запроса представляет собой динамический набор данных – временную таблицу. При каждом выполнении запроса этот набор данных формируется заново.
В Microsoft Access 2007 существует несколько видов запросов. При создании запроса с помощью Конструктора по умолчанию формируется запрос на выборку.
Запросы на выборку
Запросы на выборку предназначены для отбора записей, соответствующих заданным условиям.
На вкладке Создание в группе Другие щелкнуть по кнопке Конструктор запросов.
На экране появится окно Конструктора, а также окно Добавление таблицы.
Если окно Добавление таблицы не появилось автоматически, надо на вкладке Работа с запросами – Конструктор в группе Настройка запроса щелкнуть по кнопке Отобразить таблицу или в контекстном меню бланка запроса выбрать команду Добавить таблицу.
В окне Добавление таблицы выбрать одну или несколько таблиц или запросов, поля которых будут использованы для построения нового запроса. После добавления всех необходимых таблиц закрыть окно.
Верхняя часть окна Конструктора запросов содержит списки полей таблиц, на основе которых создается запрос.
Нижняя часть представляет собой бланк запроса. Каждый столбец бланка запроса относится к одному полю.
Включить в запрос нужные поля одним из следующих способов:
перетащить мышью нужное поле из списка полей таблицы в верхней части окна Конструктора в строку Поле бланка запроса;
дважды щелкнуть мышью по имени нужного поля в списке полей таблицы;
щелкнуть по кнопке раскрытия списка в строке Поле бланка запроса и выбрать из списка нужное поле.
Если нужно использовать все поля какой-либо таблицы или запроса, можно не выбирать каждое поле по отдельности, а использовать подстановочный знак «*» в списке полей этой таблицы или запроса.
В бланк запроса на выборку включаются поля, которые должны быть выведены на экран, а также поля, по которым определяются условия отбора, и задается порядок сортировки.
Для полей, которые должны выводиться на экран, установить флажок в строке Вывод на экран.
Для полей, по которым надо отсортировать таблицу, щелкнуть мышью по ячейке в строке Сортировка и выбрать из раскрывшегося списка порядок сортировки. Если условия сортировки заданы по нескольким полям, то сортировка будет выполняться в порядке расположения этих полей слева направо.
Ввести условия отбора. Для ввода условий отбора используются строки Условие отбора и или. Условия, находящиеся в одной строке, связываются логическим оператором И; условия, находящиеся в разных строках – логическим оператором ИЛИ.
Условия отбора состоят из операторов сравнения (<, <=, >, >=, =, <>, Between, In, Like) и констант (например, >#1/1/90#, «Морозильник»). Имена полей в условиях отсутствуют, так как поле, на которое накладывается условие, определяется столбцом, в который это условие вводится.
Сохранить запрос, выбрав команду Сохранить в меню кнопки Office или щелкнув по кнопку Сохранить на панели быстрого доступа. В открывшемся диалоговом окне ввести имя запроса.
Перед выполнением запроса можно проверить правильность выборки. Для этого надо перейти в режим таблицы: на вкладке Работа с запросами – Конструктор в группе Результаты в меню кнопки Вид выбрать команду Режим таблицы или в контекстном меню бланка запроса выбрать команду Режим таблицы.
Выполнить запрос можно одним из следующих способов;
В режиме Конструктора на вкладке Работа с запросами – Конструктор в группе Результаты щелкнуть по кнопке Выполнить;
в области переходов дважды щелкнуть по имени запроса;
в области переходов в контекстном меню запроса выбрать команду Открыть.
Параметрические запросы
Если необходимо выполнить несколько запросов с разными условиями на значения одного и того же поля, то целесообразно создать параметрический запрос. При запуске такого запроса на экран выводится диалоговое окно, предлагающее пользователю ввести условие отбора.
Для создания параметрического запроса следует в строку Условия отбора в квадратных скобках ввести текст сообщения, который будет выводиться в диалоговом окне (текст должен отличаться от имени поля, но может включать его).
Например, для создания параметрического запроса о заказах на заданный товар надо в строку Условие отбора для поля Наименование товара ввести текст: [Введите название товара]. После запуска запроса на экран будет выведено диалоговое окно, в которое вводится название товара.
Таких параметров может быть несколько.
Запросы с вычисляемыми полями
С помощью запросов можно задать вычисления над данными и сделать вычисляемое значение новым полем в наборе записей. Для создания вычисляемого поля надо в пустую ячейку в строке Поле бланка запроса ввести формулу следующего вида:
Имя поля: выражение
Для построения выражений в Microsoft Access имеется утилита, называемая Построитель выражений.
Чтобы вызвать Построитель выражений, надо поместить курсор в ту ячейку, в которую надо ввести выражение, и на вкладке Работа с запросами – Конструктор в группе Настройка запроса щелкнуть по кнопке Построитель или выбрать команду Построить в контекстном меню ячейки. На экран будет выведено окно Построителя выражений.
В верхней части окна располагается область ввода. Нижняя часть окна содержит три списка для выбора имен полей и функций. В средней части окна расположены кнопки со знаками математических операций.
Чтобы вставить в выражение имя поля, надо:
В первом списке нижней части окна дважды щелкнуть по строке с названием нужного объекта (Таблицы или Запросы). Откроется список таблиц (или запросов) текущей базы данных.
Дважды щелкнуть мышью по имени нужного объекта. Во втором списке появятся имена полей этого объекта.
Во втором списке щелкнуть по имени нужного поля, а затем по кнопке Вставить (или дважды щелкнуть по имени нужного поля).
Чтобы вставить в выражение функцию, надо:
В первом списке нижней части окна дважды щелкнуть по строке Функции, затем – по строке Встроенные функции.
Выбрать нужный тип функции во втором списке.
Щелкнуть по строке с именем нужной функции в третьем списке, затем – по кнопке Вставить (или дважды щелкнуть по имени нужной функции).
Чтобы вставить в выражение математический оператор, надо щелкнуть мышью по соответствующей кнопке.
Итоговые запросы
Итоговые запросы используются для выполнения вычислений над группами записей.
В итоговом запросе Microsoft Access группирует записи по заданному полю, т. е. объединяет в группу записи, значения которых в заданном поле одинаковы. Результатом итогового запроса будет таблица, в которой каждой группе соответствует одна строка.
Чтобы создать итоговый запрос с группировкой записей по заданному полю и вычислением итоговых значений по некоторым полям в группах, надо:
Перенести в бланк запроса поле, по которому надо произвести группировку записей, а также поля, по которым надо произвести групповые вычисления.
На вкладке Работа с запросами – Конструктор в группе Настройка запроса щелкнуть по кнопке Итоги или выбрать команду Итоги в контекстном меню нижней панели бланка запроса.
В бланке запроса появится новая строка Групповая операция. По умолчанию для всех полей в этой строке задана установка Группировка.
Для поля, по которому надо сгруппировать записи, оставить установку Группировка. Для полей, в которых надо произвести вычисления, щелкнуть мышью по кнопке раскрытия списка в строке Групповая операция и выбрать из списка нужную функцию.
Выполнить запрос.
Столбцы получившейся таблицы будут содержать поля, заданные в бланке запроса, причем в заголовках столбцов указывается тип вычислений. Каждая строка таблицы будет соответствовать одной группе.
При выполнении групповых операций иногда надо включить в группу не все записи, а только удовлетворяющие заданному условию. В этом случае в строке Групповые операции выбирается установка Условие, а в строку Условие отбора вводится нужное выражение. Microsoft Access сначала отберет удовлетворяющие условию записи, затем сгруппирует их и произведет групповые вычисления.