Как сделать перекрестный запрос в access 2010?

Как сделать перекрестный запрос в access 2010?

На этом шаге будут рассмотрены перекрестные запросы.

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

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

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

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

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

В первом столбце запроса нужно выбрать поле Фамилия таблицы Студенты, при этом следует задать для него значение Группировка в поле Групповая операция, а также Заголовки строк в поле Перекрестная таблица. Также можно выбрать направление сортировки по возрастанию.

Для второго столбца запроса необходимо выбрать поле Название таблицы Предметы и установить для него значение Группировка в поле Групповая операция и Заголовки столбцов в поле Перекрестная таблица.

В третьем столбце запроса нужно выбрать поле Оценка таблицы Успеваемость и задать для него функцию Sum в поле Групповая операция, а также Значение в поле Перекрестная таблица.

Созданный запрос можно сохранить под именем ОценкиПоПредметам (рис. 1).


Рис. 1. Макет перекрестного запроса ОценкиПоПредметам

В результате выполнения перекрестного запроса ОценкиПоПредметам будет получена электронная таблица, содержащая оценки студентов по всем предметам (рис. 2). Данный запрос может быть использован, например, в отчете, который должен отображать итоги прошедшей сессии.


Рис. 2. Результат выполнения запроса ОценкиПоПредметам

Создание перекрестного запроса можно увидеть здесь, а взять клип здесь.

На следующем шаге вы узнаете о запросах на изменение.

Предыдущий шаг Содержание Следующий шаг

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

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

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

Построение перекрестного запроса с использованием мастера

Задача, для решения которой потребуется перекрестный запрос, формулируется так: необходимо выяснить, сколько аварий (чрезвычайных ситуаций) определенных видов произошло на территории разных субъектов Российской Федерации (краев и областей). Источником информации послужит таблица Fiie1.

Формирование перекрестного запроса лучше всего начать с помощью мастера запросов. Открыв вкладку Запросы окна базы данных, с помощью кнопки

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

Когда вы сделаете выбор, на экране появится следующее окно мастера перекрестных запросов (см. рис. 11.65), где вам следует решить, значения каких полей вы хотите оформить в виде заголовков строк. Всего можно указать не более трех полей. Для нашей конкретной задачи в качестве заголовков строк послужат значения поля Регион. Щелкните по кнопке Далее, а затем укажите поля (не больше трех), значения которых станут заголовками столбцов. В данном случае будет выбрано поле Наименование ЧС. После этого вы окажетесь в следующем окне мастера (см. рис. 11.66), где предстоит определить, что же вы хотите вычислить для каждой ячейки, расположенной на пересечении столбца и строки. Вы уже использовали два поля: Название области – для заголовков строк, а Наименование ЧС – для заголовков столбцов.

Теперь понадобится третья переменная, значения которой можно подсчитывать, причем они должны соответствовать значениям первых двух полей. Главное, чтобы это третье указанное поле не имело пропусков, то есть нулевых значений. Следовательно, лучше всего подойдет поле Номер. В качестве функции для подсчета числа значений выберите Число (одна из функций групповой обработки данных). Иначе говоря, в конце концов будет определено количество значений поля Номер для каждой ячейки, которая находится на пересечении столбца (ЧС определенного вида) и строки (того или иного региона Российской Федерации) – рис. 11.66. Теперь, когда вы подготовили все необходимое для создания запроса, щелкните по кнопке Далее.

Читать еще:  Как сделать сумму в access?

В результате на экране появится окно (см. рис. 11.67), где в формируемый запрос нужно внести последние уточнения. Во-первых, его надо назвать. В принципе это ваше дело, но мы бы посоветовали принять имя, которое по умолчанию предлагает Access 2002: File1-Перекрестный. Затем надо определить, чего вы хотите: выполнить запрос или изменить его оформление. Выберите соответствующую позицию переключателя. Если вы собираетесь выполнить запрос и дизайн вас не интересует, откажитесь от следующего предложения мастера: вывести инструкцию по работе с запросом. Теперь остается только щелкнуть по кнопке Далее, и запрос будет запущен на выполнение. А вот дальше в нашем размеренном сюжете возникает неожиданная интрига – сообщение В перекрестном запросе слишком много заголовков столбцов – 507. Это означает, что последующее выполнение запроса невозможно (см. рис. 11.68). Озабоченность Access вполне понятна.

Фактически вы объявили заголовками столбцов или полей все наименования ЧС в таблице, кроме их дубликатов, которые система не пропустит (вместе с повторяющимися именами таких заголовков было бы не 507, а значительно больше). Действительно, многовато. Объяснение здесь простое: при формировании перекрестного запроса вы не вводили каких-либо критериев отбора. Впрочем, при использовании мастера перекрестных запросов этого сделать все равно нельзя. Если вы хотите задать такие условия, то нужно сформировать обычный запрос.

Ввод условий отбора записей в конструкторе запросов

В окне базы данных на вкладке Запрос откройте ваш перекрестный запрос в режиме конструктора (см. рис. 11.69). Теперь надо задать критерии отбора записей. Будем считать, что нас по-прежнему интересует количество ЧС по регионам, но только если эти ЧС связаны с пожарами.

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

Предположим, необходимо видоизменить запрос. Нужна справка о числе ЧС по регионам, но теперь нас интересуют аварии, связанные не только с пожарами, но и со взрывами. Кроме условия *пожар* введите еще один критерий отбора – *взрыв*, используя схему «ИЛИ». Иными словами, вы запрашиваете число аварий по регионам, в которых произошли либо пожары, либо взрывы. Если бы вы применили схему «И», система Access 2002 стала бы отбирать сведения из регионов, где произошли и пожары, и… (а это уже совсем другой разговор). Запрос будет выглядеть так, как показано на рис. 11.72.

Результат этого дополненного запроса вы видите на рис. 11.73, где показан тот же фрагмент таблицы, что и в предыдущем случае. Во-первых, число аварий по регионам возросло (Иркутская, Кемеровская области). Во-вторых, увеличился список регионов, например добавилась Мурманская область, которой раньше не было в этом перечне.

Итак, в настоящем разделе мы подробно рассмотрели структуру перекрестного запроса и уяснили для себя существенное правило: чтобы обработать группу записей и получить справку по множеству объектов, надо сначала четко определить само множество. В данном конкретном примере нам необходимо суммарное число ЧС определенного вида по разным российским регионам. Значит, в первую очередь надо получить такие сведения по каждому из этих регионов. В ряде случаев для решения указанной задачи придется создать запрос на выборку.

Данный текст является ознакомительным фрагментом.

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

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

Для построения перекрестного запроса выделите имя нужной таблицы в окне базе данных и выберите Новый запросв раскрывающемся списке кнопкиНовый объект() на панели инструментов. В окне диалогаНовый запросвыберитеКонструктор, а затем в окне конструктора выберите командуЗапрос->Перекрестный. Access добавит в бланк запроса строкуПерекрестнаятаблица. В этой строке для каждого поля перекрестного запроса может быть выбрана одна из четырех установок:Заголовкистрок,Заголовкистолбцов,Значение(выводимое в ячейках перекрестной таблицы) иНеотображается. Для перекрестного запроса надо определить по крайней мере одно поле в качестве заголовков строк, одно для заголовков столбцов и одно поле значений. Каждое поле, являющееся заголовком столбцов, должно иметь в строкеГрупповаяоперацияустановкуГруппировка. Для поля, использующегося в качестве заголовков строк, в строкеГрупповаяоперациядолжна быть установлена операцияГруппировка, выбрана одна из итоговых функций (Count, Min, и т. д.) или введено выражение, содержащее итоговую функцию. Для поля с установкойЗначениевыбирается одна из итоговых функций или вводится выражение, использующее итоговую функцию.

Как и в других типах итоговых запросов, для отбора данных, включаемых в набор записей, можно использовать дополнительные поля. Для них необходимо выбрать установку Условие в строкеГрупповая операция иНе отображается в строкеПерекрестнаятаблица, а затем ввести условие отбора. Условие отбора можно также задать для любого поля, используемого в качестве заголовков столбцов, а данные можно сортировать по любым полям. (По умолчанию Access сортирует заголовки столбцов по возрастанию.)

Рис. 9. Перекрестный запрос в режиме конструктора (а), результат выполнения перекрестного запроса (б).

Построить перекрестный запрос можно другим, более простым способом, с помощью мастера. Для этого в окне диалога Новый запрос надо выделить пунктПерекрестный запрос и нажатьOk. Затем мастер выведет на экран последовательно ряд окон, в которых запросит необходимые данные для построения перекрестного запроса. Пример результата выполнения перекрестного запроса показан на рис. 9,б.

При построении перекрестного запроса с помощью Мастера по нескольким таблицам предварительно необходимо построить простой запрос с использованием Мастера, а далее его использовать как исходную таблицу.

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

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

Читать еще:  Как сделать бд в access?

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

Запрос на Обновлениеиспользуется для замены в отобранных записях существующих данных.

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

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

Практическая работа. Создание перекрестных запросов в MS Access

Добавляйте авторские материалы и получите призы от Инфоурок

Еженедельный призовой фонд 100 000 Р

Практическая работа №5

Тема: «Создание перекрестных запросов»

для студентов 2 курса специальности 10.02.03

Информационная безопасность автоматизированных систем

Цели работы: научиться создавать перекрестные запросы на выборку данных с помощью мастера и конструктора запросов.

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

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

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

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

Создать запрос с помощью мастера форм: Создание/Мастер запросов

Создать с помощью конструктора: Создание/ Конструктор запросов

Изменить запрос с помощью конструктора: Режим/Конструктор

Задание 1. Создать запрос Выручка по месяцам

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

1. Создать запрос с помощью мастера запросов: Создание/Другие/Мастер запросов/Перекрестный запрос

2. Для создания перекрестного запроса использовать данные таблицы Заказы

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

4. Выбрать поля, значения которых использовать в качестве заголовков столбцовДата заказа .

5. Выбрать интервал, с которым необходимо сгруппировать столбец данных типа даты и времени — Месяц

6. Выбрать, какие исчисления необходимо провести для каждой ячейки на пересечении строк и столбцов. Выбрать поле Сумма и применить функцию C УММА.

7. Задать имя перекрестного запроса Выручка по месяцам .

Задание 2. Создать перекрестный запрос «Количество заказов по сотрудникам»

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

1. Создать запрос с помощью конструктора: Создание/Другие/Конструктор запросов

2. Для создания запроса использоватьтаблицы и поля:

таблица Заказы (поля ФИО клиента и Сумма )

таблица Сотрудники (поле ФИО сотрудника ).

3. Чтобы подключить групповые функции , нажать на кнопку

4. Для поля Сумма выбирать из выпадающего списка функцию Count – считать количество записей.

5. Чтобы создать перекрестный запрос, нажать на кнопку .

6. Провести настройку перекрестной таблицы. Использовать:

Поле ФИО сотрудника для заголовков столбцов ,

Поле ФИО клиента для заголовков строк ,

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

5. Для создания запроса нажимаем кнопку Выполнить!

6. Сохраните запрос под именем Количество заказов по сотрудникам .

Запросы выборки данных в Access: Создание запроса с параметром, создание перекрестного запроса

Использование окна запроса

1. Создание простого запроса

Откроем базу данных STUD, как было рассмотрено в ЛР1. Создадим запрос, выводящий информацию о студентах, у которых имеются задолженности.

Для создания запроса активизируем окно базы данных (см. ЛР1). После этого щелкнем по корешку «Запрос» и кнопке «Создать». В появившемся диалоговом окне «Создание запроса» выберите кнопку «Конструктор». Access откроет диалоговое окно «Добавление таблицы», позволяющее выбрать базовые таблицы и запросы для создаваемого запроса. Выберите таблицы «Результаты» и «Cтуденты», нажимая кнопку «Добавить», после чего закройте это окно кнопкой «Закрыть».

Открывшееся окно конструктора запросов состоит из двух частей: верхняя содержит списки полей выбранных таблиц, а нижняя — бланк QBE для создания запроса. Каждый столбец бланка описывает одно поле, участвующее в запросе.

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

перетащив их в бланк QBE . Рассмотренным выше методом перетащите из таблицы “Студенты” поле Фамилия.

Запрос “Задолженность” будет иметь вид, как показано на рисунке.
Установка связей между таблицами производится автоматически, используя структуру связей, созданную при генерации проекта БД. Можно задавать другие варианты связи таблиц и иные типы связей (внешнее объединение, «один-к-одному», «один-ко-многим» и т.д.). Изменение связей производится в верхней части окна выбором связанного поля в описании одной таблицы и транспортировкой его при нажатой кнопке мышки на описание соответствующего поля связанной таблицы. Тип связи можно изменить, активизировав ее щелчком мышки на линии связи.

Условие для отбора нужных нам полей производится включением этого условия для данного поля в строке QBE «Условие отбора». Несколько значений отбора вводятся в одну строку, разделенные логическими условиями AND или OR, либо вводятся в последующие ячейки строки «или».
Установим для таблицы «Результаты» условие отбора студентов, у которых задолженности, для чего в столбец описания поля внесем строку «Задолженность» из таблицы «Результаты», и в строке «Условие отбора» введем:
Да

Сбросим для этого поля флажок «Показать», запрещающий вывод данного поля в выборке (т.к его не обязательно выводить).
Кроме стандартных операторов сравнения ‘=’, ‘ ‘, ‘ =’, Access поддерживает также BEETWEN, IN, LIKE.
В запросе могут присутствовать т.н. вычисляемые поля — вычисленные значения над любыми полями таблицы. Access поддерживает большое число функций и операторов, применяемых при генерации вычисляемых полей.
Чтобы просмотреть результат запроса необходимо на панели нажать кнопку:

Читать еще:  Простой запрос в access как сделать

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

Строки итоговой таблицы желательно отсортировать по полю «Фамилия» таблицы «Студенты». Для этого в столбце с описанием данного поля в строке «Сортировка» выберем пункт «по возрастанию». При необходимости сортировки по нескольким полям Access сортирует данные в порядке их расположения в бланке QBE. После просмотра запроса видно, что необходимо ввести поле Имя из таблицы “Студенты”, т.к фамилии повторяютя и запрос не несет необходимой информации. Чтобы вставить поле, перетяните его в сетку QBE на место, где он должен находится и все остальные поля передвинуться на одну позицию в право.
Запустить полученный запрос на выполнение можно также командой «Выполнить» меню «Запрос». Проверим полученные результаты на соответствие критериям отбора. Сохраним полученный запрос под именем «Задолженности». Запрос представляет собой таблицу:

Создадим запрос, в котором будет вычисляться дополнительное поле. Кафедра вычислительной техники решила своим работникам к новому году выплатить премию в размере 10% от зарплаты. Создадим запрос на базе таблицы “Преподаватели”, с полями Фамилия, Кафедра, Должность, Зарплата. Чтобы создать вычисляемое поле “Премия”, выводящее информацию о величине премии работнику, в новом столбце (следующим за заполненным), в строке “Поле” введем выражение Зарплата*0,1. Изменим заголовок поля, введя перед выражение его название. Ячейка будет содержать: «Премия: [Зарплата]*0,1».

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

1.2. Создание итогового запроса

Итоговые запросы позволяют получать статистическую информацию по группам данных, как например: сумму, среднее арифметическое, мат.ожидание, дисперсию значений полей таблицы; число значений полей, удовлетворяющих определенным условиям и т.д.
Создадим запрос среднего бала студента. Откроем новый бланк запроса, внесем в него таблицу «Студенты», “Результаты” и установим вывод полей «Номер_С», «Фамилия», «Оценка_Т», «Оценка_П», “Оценка_Л”.

Для вычисления в запросе итоговых значений щелкнем по кнопке «Групповые операции» панели инструментов. В бланке QBE появится строка «Групповая операция», где для каждого описанного поля в этой строке установлено по умолчанию «Группировка». Теперь записи по каждому полю будут группироваться, но итог подводиться не будет. Для выведения итоговых значений необходимо вместо слова «Группировка» установить какую-нибудь групповую операцию (см прил.1).
Для полей “Оценка_Т”, “Оценка_П”, “Оценка_Л” операцию «Avg», выводящую среднее значение поля для группы записей (получим средний бал).

Изменим также заголовки полей выводимой таблицы. Для этого в описании полей в строке «Поле» введем их новые названия, отделяя их от описания двоеточием:
Оценка_Т: Теория
Оценка_П: Практика
Оценка_Л: Лабы

Часть выражения, расположенная до двоеточия выводится после запуска запроса как заголовок столбца, вместо выводимого Access по умолчанию. Таким способом можно формировать более понятные заголовки полей, чем генерируемые базой.
Сохраним полученный запрос под именем «Итог». Запустите запрос и проанализируйте полученные результаты.

1.3. Создание запроса с параметром

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

Создадим запрос, выводящий список преподавателей работающих на задаваемой пользователем кафедре. За основу возьмем таблицу «Преподаватели». Выберем в бланк вывода пункт «Преподаватели.*», выводящий все поля таблицы «Преподаватели”. Введем еще раз описание поля “Кафедра”, сбросим для него флажок вывода на экран, и в строке «Условие отбора» этого поля введем выражение:
=[Введите название кафедры]

Сохраним полученный запрос как «Выборка преподавателей по кафедрам». Выполнив запуск запроса, мы увидим диалоговое окно, запрашивающее название кафедры.

После ввода параметра Access выводит список преподавателей, местом работы которых является запрашиваемая кафедра.
Ввод параметров можно использовать при любом типе запросов: итоговом, перекрестном, запросе-действии и т.д.

1.4. Создание перекрестного запроса

Access поддеpживает специальный тип итоговых запpосов, называемый перекрестным. Перекрестный запрос выводит вычисленные значения как функцию от существующих полей. Так в Access можно вывести запрос, описывающий суммарный зароботок по должностям.
Необходимое требование к созданию перекрестного запроса наличие поля — заголовка строки, поля — заголовка столбца, и одно поле вычисляемого значения. Поля, являющиеся заголовками строк и столбцов должны иметь в строке «Групповая операция» установку «Группировка». Для поля — значения необходимо выбрать в «Групповой операции» какую-либо групповую функцию, или выражение, содержащее групповую операцию.

Для нашего запроса для таблицы «Преподаватели» в меню «Запрос» установим указатель «Перекрестный». Access добавит в блок QBE строку «Перекрестная таблица». Затем в бланк перенесем поле «Должность», установим “заголовки столбцов”.

Следующее поле-«Кафедра”, установим “заголовки строк”
Результирующее поле- “Зарплата” , для него установим “значение”
«групповая операция» — Avg,
Сохраним полученный запрос под имеем «Зарплаты по должностям».

1.5. Создание запроса типа «внешнее объединение»

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

Создадим запрос, выводящий информацию обо всех студентах, с задолженностями и без. В этом запросе будет использоваться внешнее объединение таблиц «Студенты» и «Результаты» по совпадению поля «Номер_С» со всеми записями таблицы «Студенты».
Для создания внешнего объединения необходимо изменить параметры объединения. Откроем запрос «Задолженность» в режиме конструктора. Щелкнем по линии связи между таблицами «Студенты» и «Результаты» для открытия диалогового окна «Параметры объединения».

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

Выберем третий тип связи и щелкнем на кнопке «Ок». После этого на линии соединения таблиц появится стрелка, указывающая на внешнее объединение. Сохраним модифицированный запрос (через “Сохранить как” («Save as..»), чтобы не затереть предыдущий запрос) под именем «Внешнее объединение по студентам».

Ссылка на основную публикацию
Adblock
detector