Блоки данных в запросе могут быть рассортированы алфавитным или числовым способом в возрастающей (А-Я, 0–9) или убывающей (Я-А, 9–0) последовательности по содержимому отдельных полей. Можно одновременно производить сортировку по содержимому нескольких полей (до десяти).
Открыть запрос в режиме конструктора или вывести на экран окно расширенного фильтра для таблицы, запроса или формы.
Для сортировки по нескольким полям прежде всего поля необходимо расположить в бланке запросов в том порядке, в котором требуется выполнять сортировку. В Microsoft Access записи сортируются сначала по самому левому полю, затем по полю, расположенному в следующем столбце справа и т.д. Например, чтобы выполнить сортировку сначала по полю «Фамилия», а затем по полю «Имя», необходимо в бланке запроса поместить поле «Фамилия» слева от поля «Имя».
В ячейке Сортировка устанавливается нужный параметр для каждого из полей сортировки.
Для просмотра результатов запроса нажать кнопку Вид на панели инструментов.
Как правило, запросы с параметром создаются в тех случаях, когда предполагается выполнять этот запрос многократно, изменяя лишь условия отбора. В отличие от запроса на выборку, где для каждого условия отбора создается свой запрос, и все эти запросы хранятся в БД, параметрический запрос позволяет создать и хранить один единственный запрос и вводить условие отбора (значение параметра) при запуске этого запроса, каждый раз получая новый результат. В качестве параметра может быть любой текст, смысл которого определяет значение данных, которые будут выведены в запросе. Значение параметра задается в специальном диалоговом окне. В случае, когда значение выводимых данных должно быть больше или меньше указываемого значения параметра, в поле «Условие отбора» бланка запроса перед параметром, заключенным в квадратные скобки ставится соответствующий знак. Можно также создавать запрос с несколькими параметрами, которые связываются друг с другом логическими операциями И и ИЛИ. В момент запуска запроса на выполнение MS Access отобразит на экране диалоговое окно для каждого из параметров. Помимо определения параметра в бланке запроса, необходимо указать с помощью команды Запрос >Параметры соответствующий ему тип данных:
Открыть в режиме Конструктора окно запроса и добавить в него таблицу. Создать запрос, «перетащив» необходимые поля в бланк запроса и задав условие выбора;
В качестве условия ввести параметр, заключенный в квадратные скобки, который определяет сущность запроса (например, [Введите название] или >[Выше какого роста?]);
3. Применить команду Запрос >Параметры;
4. В появившемся окне Параметры запроса ввести без квадратных скобок параметр (для точности ввода лучше использовать «быстрые» клавиши копирования и вставки из буфера обмена) и указать соответствующий ему тип данных. Нажать ОК;
5. Запустить запрос на исполнение (кнопка Запуск панели инструментов);
6. В появившемся окне указать значение параметра;
7. Результат запроса будет содержать только те записи, которые удовлетворяют заданному значению параметра.
При повторном использовании запроса достаточно его вызвать на исполнение и указать значение параметра.
Запрос можно использовать для выполнения расчетов и подведения итогов из исходных таблиц. Для создания вычисляемых полей используются математические и строковые операторы. При этом Microsoft Access проверяет синтаксис выражения и автоматически вставляет следующие символы:
квадратные скобки ([...]), в них заключаются имена элементов управления;
знаки номеров (#), в них заключаются распознанные даты;
кавычки (""), в них заключается текст, не содержащий пробелов или знаков пунктуации.
Поле, содержимое которого, является результатом расчета по содержимому других полей, называется вычисляемым полем. Вычисляемое поле существует только в результирующей таблице. Общий формат вычисляемого поля выглядит так: Имя вычисляемого поля: Выражение для создания вычисляемого поля.
Например: Прибыль:[Доход]-[Расход].
Создание вычисляемого поля осуществляется путем простого ввода выражения для вычисления в ячейку «Поле» пустого столбца бланка запроса. После выполнения запроса вычисляемое поле, основанное на этом выражении, выводит на экран результат вычислений, а не само выражение.
1. В строку «Поле» пустого столбца бланка запроса вводится выражение, начинающееся со знака «=» и состоящее из имен полей, записанных в квадратные скобки, и какой-либо арифметической или другой операции.
2. После выполнения запроса в результирующей таблице появится новое поле с названием «Выражение1», которое используется в качестве имени поля вычисляемого выражения.
3. В режиме конструктора запроса это имя «Выражение1» желательно заменить на более значимое, отражающее существо получаемой информации.
Для ввода сложных вычислений используют окно Построитель выражений, которое вызывается нажатием кнопки Построить панели инструментов, либо соответствующей командой контекстного меню. Построитель выражений облегчает создание выражений, позволяя выбирать его составляющие элементы (арифметические операции, встроенные функции, названия полей имеющихся в БД таблиц и запросов и т.п.) при помощи кнопок и списков.
Запросы позволяют производить итоговые вычисления. Для этих целей в Access предусмотрены статистические функции SQL (табл. 3). Статистическую функцию задают в строке Групповая операция бланка запросов, которая появляется при выполнении команды Вид►Групповые операции.
Для выполнения итогового запроса:
1. Находясь в режиме Конструктора запроса, применить команду Вид►Групповая операция или использовать кнопку Групповая операция панели инструментов. В результате чего в бланке запроса появится строка «Групповая операция»;
Таблица 3
Функция SQL |
Действие |
Sum
|
Суммирование значений определенного поля |
Avg |
Вычисление среднего значения Данных определенного поля |
Min |
Вычисление минимального значения поля |
Мах
|
Вычисление макимального значения поля |
Count |
Вычисление количества записей, отобранных запросом по условию |
First |
Определяется первое значение в указанном поле записей, отобранных запросом |
Last |
Определяется последнее значение в указанном поле записей, отобранных запросом |
StDev |
Вычисляется стандартное отклонение значений данного поля, для всех записей, отобранных запросом |
Var |
Вычисляется вариация значений данного поля для всех записей, отобранных запросом |
2. Для соответствующего поля выбрать нужную функцию из списка «Группировка».
Перекрестный запрос применяется в том случае, если необходимо объединить данные в формате строк-столбцов. В качестве заголовков для столбцов при проектировании таких запросов можно указать значения некоторых полей или выражений:
1. Запрос формируется в режиме Конструктора; необходимо добавить таблицу, которая должна лежать в его основе;
2. Применить команду Запрос►Перекрестный. Строка запроса «Вывод на экран» в бланке запроса изменится на новую строку «Перекрестная таблица» и перед ней появится строка «Групповая операция»;
3. В строке «Поле» указать поле, значения которого в новой таблице должны появиться в виде строк; поле, значения которого в новой таблице должны появиться в виде столбцов, и поле, содержимое которого в перекрестной таблице будет использовано в качестве значения полей, которые будут использованы в качестве заголовков, может быть несколько;
4. Щелкнуть мышью в строке «Перекрестная таблица» и выбрать соответствующие значениям данных полей опции из разворачивающегося списка;
5. Для поля, содержимое которого используется в качестве значений, в строке «Групповая операция» ввести необходимую функцию, например, автосуммирования (Sum), определения среднего значения (Avg) или количества (Count). На основе данных перекрестного запроса можно строить диаграммы, представленные в виде формы (см. Создание формы).
Данный тип запросов следует применять, например, для архивирования старых блоков данных или сохранения резервных копий таблиц:
1. Создать новый запрос выбора и проверить его корректность, перейдя в режим Таблица. Для создания резервной копии таблицы (таблицы, содержащей те же поля и в том же количестве, что и в оригинале), чтобы не перетаскивать все поля таблицы в строку «Поле», достаточно поместить туда символ *, заменяющий все поля таблицы и находящийся в начале списка полей таблицы;
2. Вернувшись в режим конструктора, выбрать команду Запрос►Создание таблицы;
3. В появившемся окне ввести имя новой таблицы и нажать ОК;
4. Выполнить запрос (Запрос►Запуск);
5. Нажать кнопку ОК в появившемся специальном диалоговом окне.
Используя этот тип запроса, можно изменить в базовой таблице группу блоков данных, отобранную на основе определенных критериев:
1. Создать новый запрос выбора и проверить его корректность, перейдя в режим Таблица;
2. Вернувшись в режим Конструктора, применить команду Запрос►Обновление;
3. В появившейся в бланке запроса строке «Обновление» в соответствующих столбцах необходимо задать новые значения полей таблицы. В качестве таковых могут выступать и вычисляемые значения. Можно использовать Построитель выражений (кнопка Построить панели инструментов или соответствующая кнопка контекстного меню);
4. Выполнить запрос (Запрос►Запуск);
5. Нажать кнопку ОК в появившемся специальном диалоговом окне.
С помощью этого типа запроса блоки данных одной таблицы (все или отобранные запросом) можно поместить в конец другой таблицы:
1. Создать новый запрос выбора тех блоков данных, которые будут добавлены в некоторую таблицу и проверить его корректность, перейдя в режим Таблица;
2. Вернувшись в режим Констр;ктора, применить команду Запрос►Добавление;
3. В появившемся окне ввести имя таблицы, к которой нужно присоединить данные, и нажать ОК;
4. Выполнить запрос (Запрос►Запуск);
5. Нажать кнопку ОК в появившемся специальном диалоговом окне.
С помощью данного типа запроса можно удалить из базовой таблицы группу блоков данных, отобранных по определенным критериям. При этом следует тщательно проанализировать критерии отбора, поскольку эту операцию нельзя отменить:
1. Создать новый запрос выбора удаляемых блоков данных. Отбор блоков данных выполняется в соответствии с заданными в строке Условие критериями;
2. Проверить корректность сформулированных условий, перейдя в режим Таблица.;
3. Вернувшись в режим конструктора, применить команду Запрос►Удалить;
4. В появившейся строке Удалить установить дополнительные критерии отбора;
5. Выполнить запрос (Запрос►Запуск);
6, Нажать кнопку ОК в появившемся специальном диалоговом окне.
Открыть запрос в режиме конструктора.
Нажать кнопку Отобразить таблицу на панели инструментов.
В диалоговом окне Добавление таблицы выбрать вкладку, содержащую нужные объекты. Если нужная таблица находится в другой базе данных или другом приложении, то сначала необходимо связать эту таблицу с активной базой данных.
Выбрать имя объекта, добавляемого в запрос. Для одновременного выбора нескольких объектов они выбираются при нажатой клавише CTRL. Для выбора группы соседних объектов следует выбрать имя первого объекта, нажать клавишу SHIFT и, удерживая ее, выбрать имя последнего объекта группы.
Последовательно нажать кнопки Добавить и Закрыть.
Добавить в запрос таблицу или запрос можно также путем перетаскивания имени таблицы или запроса из окна базы данных в верхнюю половину окна запроса в режиме конструктора. Если запрос содержит несколько таблиц или запросов, необходимо их объединить.
Открыть запрос в режиме конструктора.
В верхней части окна режима конструктора запроса выделить таблицу или запрос, который требуется удалить, щелкнув в любом месте списка полей удаляемой таблицы или запроса, а затем нажать клавишу DEL.
Поля, добавленные в бланк путем перетаскивания из списка полей, также будут удалены из запроса. Однако таблица или запрос из базы данных не удаляются.
В режиме конструктора запроса перетащить поле из списка полей одной таблицы или запроса в соответствующее поле (поле, имеющее одинаковый или совместимый тип данных и содержащее подобные данные) списка полей другой таблицы или запроса.
При использовании объединения этого типа Microsoft Access выбирает записи из обеих таблиц или запросов только тогда, когда значения полей объединения совпадают.