Параметры запроса

Определение параметра для значения поля

Имя параметра запроса может задаваться непосредственно в поле Условие отбора в квадратных скобках. При выполнении запроса это имя появится в диалоговом окне Введите значение параметра.

Определение нескольких параметров запроса

Если в запрос вводится несколько параметров, то порядок их ввода через диалоговые окна определяется порядком расположения полей с параметрами в бланке запроса. Чтобы иметь возможность ввести несколько значений для одного поля при выполнении запроса, можно в условии отбора этого поля определить несколько параметров. Например, для отбора записей по двум группам в условии отбора поля нг можно записать два параметра, связанных логической операцией:

OR [номер группы] OR [еще один номер]

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

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

Здесь в условии отбора используется функция Year, которая выделяет год из даты. Параметр запроса — [Год рождения] фигурирует как величина, с которой сравнивается значение данной функции.

Задание типа данных для параметра

Access no умолчанию назначает для параметра текстовый тип данных. Если параметр задает условие отбора из поля с числовым типом данных или типом данных дата/время, целесообразно назначить тип данных, вводимых в диалоговое окно ввода значения параметра.

Корректировка данных средствами запроса

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

Запрос на обновление

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

Запрос на добавление

С помощью запроса на добавление производится добавление записей из таблицы результата запроса в таблицу базы данных. Поэтому поля добавляемых записей в запросе должны соответствовать полям существующих записей таблиц БД.

Структура записи таблицы запроса может не полностью совпадать со структурой записи таблицы, которую добавляются записи. В записи запроса мажет быть меньше полей, если на поля существующей таблицы БД не наложено требование обязательности их заполнения. Допускается несоответствие типов полей, если возможно преобразование типа данных одного поля в тип данных другого поля. Кроме того, в бланк запроса могут быть включены поля, по которым задаются условия отбора.

Запрос на удаление

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

Мастера создания запросов

Простейшие запросы некоторых видов могут быть созданы с помощью мастеров Access. С помощью мастера можно создать:

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

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

Простой запрос

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

Запрос для поиска повторяющихся записей

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

Запрос для поиска записей, не имеющих подчиненных

Мастер создания запроса для поиска записей, не имеющих подчиненных, позволяет найти в таблице записи, у которых нет связанных записей в подчиненной таблице.
Например, можно найти студентов, которые вообще не сдавали экзаменов и зачетов. В этом примере в качестве анализируемой таблицы выбирается таблица студент, в качестве подчиненной — успеваемость. Для связи выбираются поля нг (номер группы) и нс (номер студента в группе).

Мастер перекрестных запросов

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