<<
>>

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

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

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

Создадим перекрестный запрос: «Для всех потребителей вывести сумму поставок за каждый месяц». Так как мы будем в качестве столбцов использовать месяц и по этому полю необходимо осуществить групповую операцию, то для того, чтобы день месяца ие учитывался, преобразуем формат поля DatePost в формат полного года и сокращенного месяца с помощью функции преобразования Format следующим образом: Format ([DatePost]; «уууу mmm»).

Сумма поставки будет вычисляться в помощью выражения [Сепа]*[Ко1]. Оформить бланк запроса, как показано на рис. 2.21. На рис. 2. 22 представлен набор записей для запроса

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

2.6.5. Внешние объединения

В большинстве многотабличных запросов набор значений формируется на основе совпадения связанных полей. Например, необходимо создать запрос: «Найти наименование потребителя и город потребителя, который ие имеет поставок». Для этого запроса необходимо в режиме конструктора изменить связь между таблицами иа связь - внешнее объединение (дважды щелкните по линии связи между таблицами в верхнем окне конструктора, появится окно Параметры объединения (рис. 2.24».

По умолчанию между таблицами устанавливается тип связи 1. Для нашего примера необходимо включить в объединение данные о всех потребителях и только о тех поставках, для которых значения связанных полей совпадают - тип связи 2. Тип связи 3 включает в объединение информацию о всех поставках и только тех потребителях, для которых значения связанных полей совпадают.

Установите переключатель 2 и нажмите кнопку' ОК (связь между таблицами изменится на связь со стрелкой от списка полей таблицы ПОТРЕБИТЕЛЬ к списку полей таблица ПОСТАВКА, что указывает на внешнее объединение) (рис. 2.25).

Для потребителя, у которого нет поставок, создаются записи, в которых столбцы с данными о поставке имеют значение Null. Поэтому в бланке запроса для любого поля таблицы ПОСТАВКА введите значение Is Null. На рис. 2.25 приведено окно конструктора запроса для данного примера).

2.6.6. Создание запроса на основе другого запроса

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

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

Так же можно строить запрос на основе и таблицы и запроса одновременно.

<< | >>
Источник: А.Н. Романов и А.И. Змитрович. Информационные технологии в экономике: Учебное пособие для вузов. В 2 кн. Кн. 1. / Под ред.. - Мн.: ЗАО "Веды". 240 е.: ил.. 1998

Еще по теме 2.6.4. Перекрестные запросы:

  1. ОБЩИЙ ПОРЯДОК ЗАПРОСА ИНФОРМАЦИИ
  2. Различаются ли способы запроса информации в государственных органах и органах общественных объединений, с одной стороны, и в негосударственных организациях и частных лиц — с другой?
  3. ЗАПРОС ИНФОРМАЦИИ В ГОСУДАРСТВЕННЫХ ОРГАНАХ, УЧРЕЖДЕНИЯХ, ОРГАНИЗАЦИЯХ, ОРГАНАХ ОБЩЕСТВЕННЫХ ОРГАНИЗАЦИЙ
  4. Кому должен быть адресован запрос?
  5. ЗАПРОС ИНФОРМАЦИИ У ЧАСТНЫХ ЛИЦ
  6. В каких случаях частное лицо обязано предоставить журналисту информацию по запросу?
  7. Статья 6. Требования к запросу о получении информации
  8. Глава 3. Предоставление информации по письменному запросу
  9. Статья 11. Порядок предоставления информации по письменному запросу
  10. 31.1. Запрос о правовой помощи
  11. 2.6. Запросы на выборку данных
  12. 2.6.2. Итоговые запросы
  13. 2.6.4. Перекрестные запросы
  14. Подписание перекрестных договоров СССР, Франции и Чехословакии
  15. З.Возможные формулировки запроса на психологическую помощь в самоопределении, или "Маски' проблемы
  16. Часть I НАУКА О «ПЕРЕКРЕСТНОМ ОПЫЛЕНИИ»
  17. Гла ва 13 ЭФФЕКТ «ПЕРЕКРЕСТНОГО ОПЫЛЕНИЯ»
  18. Функции «перекрестного опыления».
  19. ТЕОРИЯ ПЕРЕКРЕСТНОГО ДАВЛЕНИЯ