Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadanie_4_-_modifitsiruyuschie_zaprosy.docx
Скачиваний:
7
Добавлен:
17.03.2015
Размер:
35.52 Кб
Скачать

4. Поиск в таблицах записей с помощью мастера запросов

Access имеет еще один инструмент работы с запросами – Мастер запросов. Он вызывается щелчком мыши на кнопке «Мастер запросов» вкладка Создать окна Базы данных. С его помощью можно запустить создание:

  • Запроса с помощью Конструктора запросов.

  • Простого запроса.

  • Перекрестного запроса – запроса, выводящего данные в компактной форме, подобной электронной таблице.

  • Поиска повторяющихся записей в простой таблице или запросе.

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

С первыми двумя возможностями вы уже хорошо знакомы. Теперь посмотрим, какие запросы еще можно сделать в вашей базе данных.

4.1. Перекрестный запрос

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

Внимание.

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

Перекрестный запрос - это специальный тип группового запроса, для которого строка «Групповая операция» всегда включена.

Подобно другим групповым запросам, функция «Группировка» определяет заголовок строки для результирующей таблицы запроса. Однако, в отличие от других групповых запросов, перекрестный запрос определяет заголовки столбцов на основании значения поля, а не его названия.

Задание.

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

Для построения перекрестного запроса:

  • Выберите в списке «Перекрестный запрос».

Щелкните на кнопке "ОК".

  • В открывшемся диалоговом окне выберите необходимую таблицу (или ранее созданный запрос). В вашем случае – это может быть запрос «Начислено зарплаты Запрос».

Щелкните на кнопке «Далее».

  • На втором шаге Мастера перекрестных запросов выберите имя поля, помещаемого в строку запроса - «Подразделение»

Щелкните на кнопке «Далее».

На третьем шаге выберите имя поля, которое должно быть использовано в качестве заголовка столбца - «Фамилия».

  • На четвертом шаге Мастер перекрестных запросов предлагает выбрать поле, по которому будут подводиться итоги и тип итогов (итоговая сумма, среднее и др.). В нашем примере, в качестве поля для подведения итогов выберем поле «Зарплата» и в качестве вида (типа) итогов – оператор Сумма().

Не забудьте включить флажок «Вычислить итоговое значение для каждой строки».

На следующем шаге Мастер перекрестных запросов предлагает задать имя созданного перекрестного запроса (или принять то, которое он формирует по умолчанию, используя для этого имя таблицы или запроса). Согласитесь с последним – «Расчет зарплаты Запрос перекрестный».

  • Если все действия выполнены правильно – щелкните на кнопке «Готово». В противном случае, щелкните на кнопке «Назад» и внесите необходимые изменения.

Если созданный запрос не полностью соответствует задуманному, вернитесь к работе с Мастером, или измените запрос в режиме Конструктора.

Задание.

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

  • Откройте перекрестный запрос «Расчет зарплаты Запрос перекрестный» в режиме Конструктора запросов.

  • Добавьте в него таблицу «Сотрудники».

  • Путем перетаскивания свяжите поле «Фамилия» запроса «Расчет зарплаты Запрос» с полем «Фамилия» таблицы «Сотрудники». Поля будут связаны линией.

  • Удалите поле «Подразделение» из нижней части Конструктора запросов.

Вместо него вставьте поле «Должность» из таблицы «Сотрудники».

  • В строке «Перекрестная таблица» столбца «Должность» выберите из списка «Заголовки строк».

Окно Конструктора запросов, вызванное для редактирования перекрестного запроса примет следующий вид:

  • Запустите запрос на выполнение.

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

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