В Access существует 4 типа запросов.
1. Запросы на выборку отбирают нужные поля данных из записей, удовлетворяющих заданному условию из одной или нескольких таблиц и/или других запросов БД.
2. Перекрестные запросы формируют данные из таблиц и запросов в виде электронной таблицы (матрицы). В такой таблице заголовки строк образуются из уникальных значений одного поля, заголовки столбцов - из уникальных значений другого поля, а на их пересечении вычисляются какие-либо суммарные значения для отобранного множества записей.
3. Запросы на изменение делятся на 4 вида:
─ на создание новой таблицы;
─ на добавление новых записей в таблицу;
─ на удаление отобранных записей из таблицы;
─ на изменение значений каких-либо полей в отобранных записях таблицы.
4. Запросы с параметрами ─ это такие запросы, в которых критерии отбора задаются пользователем при каждом запуске запроса. То есть запрос с параметрами можно получить из любого из трех предыдущих типов запросов, введя в него параметры для отбора записей. При запуске такого запроса на экран выводится окно, в которое следует ввести значение параметра выборки для каждого из параметров.
|
|
Процесс проектирования запроса можно открыть несколькими способами:
─ в окне БД на вкладке Запросы нажать кнопку Создать или выбрать одну из строк: Создание запроса в режиме конструктора или Создание запроса с помощью мастера;
─ в окне БД на вкладке Таблицы выбрать инструмент Новый объект/Запрос;
─ выбрать в главном меню пункт Вставка/Запрос.
В большинстве случаев процесс конструирования запроса начинается с открытия диалогового окна выбора способа конструирования. Здесь можно выбрать один из специальных типов запросов, создаваемых с помощью мастера: Перекрестный, Простой, Повторяющиеся записи, Записи без подчиненных ─ либо открыть обычный режим ручного конструирования запросана выборку.
Для создания запроса «Вся база данных» нужно:
─ открыть вкладку Запросы;
─ щёлкнуть по кнопке «Создать»;
─ появившемся окне выбрать «Простой запрос» и щёлкнуть по кнопке «ОК»;
─ в появившемся окне в строке Таблицы и Запросы выбрать из списка таблицы Арендатор и Аренда;
─ перенести все поля из окна «Доступные поля» в окно «Выбранные поля», щёлкнув по кнопке >>;
─ щёлкнуть по кнопке «Далее». Выводить надо все поля, поэтому еще раз щёлкнуть по кнопке «Далее»;
─ в появившемся окне ввести имя запроса Вся база;
─ щёлкнуть по кнопке «Готово». На экране появится таблица с данными запроса;
─ перейти в режим конструктора, щёлкнув правой кнопкой мыши по этому запросу. Выбрать вкладку «Конструктор»;
|
|
─ в свободном поле щёлкнуть правой кнопкой мыши и выбрать вкладку Построить. В окне Построитель выражений ввести функцию:
Оплата: IIf((Аренда![Дата окончания]-Аренда![Дата начала аренды])>12;Арендатор![Площадь офиса]*([Дата окончания]-[Дата начала аренды])*500;IIf((Аренда![Дата окончания]-Аренда![Дата начала аренды])<=12 And (Аренда![Дата окончания]-Аренда![Дата начала аренды])>3;Арендатор![Площадь офиса]*([Дата окончания]-[Дата начала аренды])*800;IIf((Аренда![Дата окончания]-Аренда![Дата начала аренды])<=3 And (Аренда![Дата окончания]-Аренда![Дата начала аренды])>0;Арендатор![Площадь офиса]*([Дата окончания]-[Дата начала аренды])*1000)))
─ Далее нажать «ОК»;
─ в этом поле удалить «Выражение 1» и заменить его на «Оплата»;
─ выполнить запрос, щёлкнув по кнопке «!» на панели инструментов, или выполнить команду Запрос, Запуск; на экране появится вся БД с выводом начисленной зарплаты;
─ сохранить запрос и закрыть таблицу запроса.
На рис. 7.8 представлен вид окна для создания запроса в режиме Конструктора. Окно с результатами запроса представлено на рис. 7.9.
Рис. 7.8. Вид окна для создания запроса в режиме Конструктора
Рис. 7.9. Окно с результатами запроса
Редактирование запроса. Если возникнет необходимость внести в проект запроса изменения, его следует маркировать в окне БД и щелкнуть на кнопке
Конструктор. Откроется окно проектирования запроса, в котором пользователь может внести необходимые изменения в определение запроса.
Если одно из полей запроса желательно перенести в другую позицию, то следует выполнить щелчок в селекторной строке над подлежащим переносу полем. Маркированную колонку можно перетащить на новое место с помощью мыши. Для вставки дополнительного поля в запрос перетащите его из списка полей таблицы в ту колонку спецификации, в которую хотите вставить. Если в этой колонке уже находится какое-либо поле, то оно, как и все последующие поля, будет сдвинуто вправо, чтобы освободить место для нового поля. Для удаления поля маркируйте его и нажмите клавишу [Del].