Параметрический запрос – запрос на выборку с выводом диалогового окна для ввода конкретного значения поля. Имя параметра запроса может вводиться непосредственно в строку Условие отбора в квадратных скобках. При выполнении запроса это имя появится в диалоговом окне Введите значение параметра.
Типы запросов
1. Запрос на выборку –это наиболее распространенныйтип запросов и является наиболее часто используемым типом запроса.
Запросы этого типа возвращают данные из одной или нескольких таблиц и отображают их в виде таблицы, записи в которой можно обновлять (с некоторыми ограничениями). Запросы на выборку можно также использовать для группировки записей и вычисления сумм, средних значений, подсчета записей и нахождения других типов итоговых значений.
Цель запроса на выборку состоит в создании результирующей таблицы, в которой отображаются только нужные по условию запроса данные из базовых таблиц.
Запросы на выборку можно также использовать для группировки записей и вычисления сумм, средних значений и т.п.
2. Запросы с параметромявляется более гибким средством для отбора данных. Он позволяет уже на этапе запуска запроса указывать критерий отбора.
Условием отбора является выражение, которое состоит из операторов сравнения и операндов, используемых для сравнения. В выражении условия отбора допускается использование и логических операторов: Between (Между), Like (Похоже), And (И), Or (ИЛИ), Not (НЕ), которые определяют операцию над одним или несколькими операндами. Допускается использования операторов шаблона– звездочка * (значение любой группы символов) и вопросительный знак ? (значение одного любого символа).
Условия для текстовых полей записываются с использованием функции
Like “Строка поиска с символами шаблона”
Символ шаблона * заменяет произвольное количество символов в данной позиции, символ ? заменяет один какой-нибудь символ в позиции, символ # указывает, что в данной позиции должна стоять цифра. Например, условие Like “CA-#######” разрешит отобрать записи, в которых записаны номера паспортов серии СА.
Запросы с параметрами также удобно использовать в качестве основы для форм, отчетов и страниц доступа к данным. Например, на основе запроса с параметрами можно создать месячный отчет о доходах. При печати данного отчета выводится на экран приглашение ввести месяц, доходы за который должны быть приведены в отчете. После ввода месяца выполняется печать соответствующего отчета.
3. Запросы на изменение. Запросом на изменение называют запрос, который за одну операцию изменяет или перемещает несколько записей, т.е. чтобы внести изменения сразу в большое количество записей с помощью одного запроса. Существует четыре типа запросов на изменение.
· На обновление записи. Запрос на обновление вносит общие изменения в группу записей одной или нескольких таблиц. Запрос на обновление записей позволяет изменять данные в существующих таблицах. Чтобы, превратить запрос на обновление необходимо выполнить команду меню Запрос/Обновление. Изменяется заголовок запроса и появляется дополнительная строка Обновление. Теперь нужно в строку Обновлениеввести выражение. Так же, как и при добавлении записей в таблицу, Access выдаёт сообщение о количестве обновляемых записей и запрашивает подтверждение на обновление. Вы можете подтвердить обновление записей или отвергнуть.
· Запрос на удаление. Запросы на удаление записей позволяют отобрать требуемые записи и удалить их за один прием. Принцип создания такого запроса аналогичен созданию запроса на обновление, однако, удаляя записи из связанных таблиц, необходимо помнить о том, что при этом не должна нарушаться целостность данных.
· Запрос на добавление записей. Запрос на добавление добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц. Например, появилось несколько новых клиентов, а также база данных, содержащая сведения о них. Чтобы не вводить все данные вручную, их можно добавить в таблицу «Клиенты».
· Запрос на создание таблицы создает новую таблицу на основе всех или части данных из одной или нескольких таблиц. Запрос на создание таблицы полезен при создании таблицы для экспорта в другие базы данных ACCESS или при создания архивной таблицы, содержащей старые записи.
· 4. Запрос с групповыми операциями – запрос на выборку с использованием статистических функций. В Access предусматривается девять статистических функций:
Sum – сумма значений некоторого поля для группы.
Avg – среднее от всех значений поля в группе.
Max, Min – максимальное, минимальное значение поля в группе.
Count – число значений поля без учета пустых значений.
StDev – среднеквадратичное отклонение от среднего значения поля в группе.
Var – дисперсия значений поля в группе.
First, Last – значение поля из первой или последней записи в группе.
Для создания запроса с использованием групповых операций формируется запрос на выборку. В бланк запроса включаются поля, по которым надо произвести статистические вычисления, а затем выполняется команда Вид/Групповые операцииили на панели инструментов конструктора запросов нажимается кнопка Групповые операции.
5. Итоговые запросыпозволяют не только отбирать нужную информацию из таблиц и обрабатывать ее путем создания новых (вычисляемых) полей, но и производить так называемые итоговые вычисления: Примером итогового вычисления может служить сумма всех значений в какой-то группе записей или их среднее значение, хотя кроме суммы и среднего значения существуют и другие итоговые функции.
Поскольку итоговые функции для одной записи не имеют смысла и существуют только для группы записей, то предварительно записи надо сгруппировать по какому-либо признаку.
1. Итоговые запросы создают на основе известного нам бланка запроса по образцу, только теперь в нем появляется дополнительная строка - Группировка.
. Для введения этой строки в бланк надо щелкнуть на кнопке Групповые операции (знак суммы) на панели инструментов программы Access. В тех полях, по которым производится группировка, надо установить (или оставить) функцию Группировка.
В тех полях, по которым следует провести итоговое вычисление, надо в строке Группировка раскрыть список и выбрать одну из нескольких итоговых функций. Щелчок на кнопке Вид запускает запрос и выдает результирующую таблицу с необходимыми итоговыми данными.
В строке Группировка можно указать лишь одну итоговую функцию. А как быть, если надо найти и сумму, и среднее, и максимальное значение, и еще что-то? Решение простое: одно и то же поле можно включить в бланк запроса по образцу несколько раз.
5. Перекрестные запросы используют для расчетов и представления данных в структуре, облегчающей их анализ. Они позволяют увидеть вычисляемые значения в виде перекрестной таблицы, напоминающей электронную. Перекрестный запрос подсчитывает сумму, среднее, число значений или выполняет другие статистические расчеты, после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой заголовки строк.
Перекрестный запрос – запрос, где формируется таблица, в которой левый столбец образует заголовки строк из значений одного поля, верхняя строка образует заголовки столбцов из значений другого поля, а на пересечении строк и столбцов размещаются итоговые значения, вычисленные по значениям третьего поля. Перекрестный запрос несложно построить при помощи специального мастера.
Для построения перекрестного запроса выделите имя нужной таблицы в окне базе данных и выберите Новый запрос в раскрывающемся списке кнопки Новый объект () на панели инструментов. В окне диалога Новый запрос выберите Конструктор, а затем в окне конструктора выберите команду Запрос->Перекрестный. Access добавит в бланк запроса строку Перекрестная таблица. В этой строке для каждого поля перекрестного запроса может быть выбрана одна из четырех установок: Заголовки строк, Заголовки столбцов, Значение (выводимое в ячейках перекрестной таблицы) и Не отображается. Для перекрестного запроса надо определить по крайней мере одно поле в качестве заголовков строк, одно для заголовков столбцов и одно поле значений. Каждое поле, являющееся заголовком столбцов, должно иметь в строке Групповая операция установку Группировка. Для поля, использующегося в качестве заголовков строк, в строке Групповая операция должна быть установлена операция Группировка, выбрана одна из итоговых функций (Count, Min, и т. д.) или введено выражение, содержащее итоговую функцию. Для поля с установкой Значение выбирается одна из итоговых функций или вводится выражение, использующее итоговую функцию.
Как и в других типах итоговых запросов, для отбора данных, включаемых в набор записей, можно использовать дополнительные поля. Для них необходимо выбрать установку Условие в строке Групповая операция и Не отображается в строке Перекрестная таблица, а затем ввести условие отбора. Условие отбора можно также задать для любого поля, используемого в качестве заголовков столбцов, а данные можно сортировать по любым полям. (По умолчанию Access сортирует заголовки столбцов по возрастанию.)
Построить перекрестный запрос можно другим, более простым способом, с помощью мастера. Для этого в окне диалога Новый запрос надо выделить пункт Перекрестный запрос и нажать Ok. Затем мастер выведет на экран последовательно ряд окон, в которых запросит необходимые данные для построения перекрестного запроса. Пример результата выполнения перекрестного запроса показан на рис. 9,б.
6. Запрос SQL — это запрос, создаваемый при помощи инструкций SQL. Язык SQL (Structured Query Language) используется при создании запросов, а также для обновления и управления реляционными базами данных, такими как базы данных Microsoft Access.
Когда пользователь создает запрос в режиме конструктора запроса, Microsoft Access автоматически создает эквивалентную инструкцию SQL. Фактически, для большинства свойств запроса, доступных в окне свойств в режиме конструктора, имеются эквивалентные предложения или параметры языка SQL, доступные в режиме SQL. При необходимости пользователь имеет возможность просматривать и редактировать инструкции SQL в режиме SQL. После внесения изменений в запрос в режиме SQL его вид в режиме конструктора может измениться.
Некоторые запросы, которые называют запросами SQL, невозможно создать в бланке запроса. Для запросов к серверу, управляющих запросов и запросов на объединение необходимо создавать инструкции SQL непосредственно в окне запроса в режиме SQL. Для подчиненного запроса пользователь должен ввести инструкцию SQL в строку Поле или Условие отбора в бланке запроса.