Рис. 11.59
Теперь займемся формированием долгожданного запроса на добавление. Алгоритм создания подобных запросов был подробно рассмотрен в этой главе, в разделе «Запрос на добавление записей в таблицу», поэтому здесь отметим лишь одну деталь. В данном случае таблицей-получателем является ES_OPER1,а таблицей-источником – ES_OPER.В ходе выполнения запроса Access 2002 пожалуется вам на то, что не может включить в таблицу-получатель какое-то количество записей, поскольку в ней не допускается наличие дубликатов (рис. 11.60).
Рис. 11.60
Но именно к этому вы и стремились! Отбросив угрызения совести, смело отвечайте Да.
Итоговый вид бланка запроса показан на рис. 11.61, а очищенная от повторяющихся записей таблица ES_OPER1– на рис. 11.62.
Рис. 11.61
Рис. 11.62
По поводу последней необходимо небольшое пояснение. Если вы обратитесь к результирующей таблице повторяющихся записей, которая представлена на рис. 11.53, то убедитесь, что она включает 382 дубликата. Между тем исходная таблица ES_OPERсодержит 7841 запись, а таблица ES_OPER1– 7626 записей. Значит, удалено всего 215 записей.
В чем причина такого расхождения? Дело в том, что таблица повторяющихся записей содержит все дубликаты, а при удалении уничтожаются лишь вторые, третьи и т. д. копии. Первый же экземпляр сохраняется, так как после удаления дубликатов он остается единственным. Правда, Access 2002 не утруждает себя размышлениями о том, какой именно вариант записи следует уничтожить; но это уже другой вопрос.
Теперь, чтобы завершить всю операцию, удалите из базы данных таблицу ES_OPER,а ее имя присвойте таблице ES_OPER1. Что касается поля Условие отбора,то при желании его можно убрать. Однако мы уже рекомендовали вам не торопиться с этим: наличие поля позволит предотвратить дублирование записей при последующем вводе данных.
Если мы теперь посмотрим инструкцию SQL, например для последнего запроса на добавление (рис. 11.63), то увидим, как там, в соответствии с уже рассмотренными выше правилами, «прописаны» действия над всеми полями таблиц.
Рис. 11.63
Перекрестные запросы позволяют подсчитывать данные по двум и более переменным. В ситуациях, подобных нашей, перекрестные запросы компактнее, чем обычные.
Как правило, при перекрестном запросе первый столбец получаемой в результате таблицы отображает значения одной переменной – это заголовки строк. В первой строке этой таблицы приводятся значения второй переменной – заголовки столбцов. На пересечении строк и столбцов находится сумма (количество значений, среднее и т. п.) по третьей переменной. Чтобы отразить все это в отчете, можно создать сводную таблицу. Когда перекрестный запрос выполнен, в результирующей выборке заголовки строк и столбцов часто представляют собой поля, содержащие текст или даты. Поля значений обычно относятся к числовому или денежному типу. Поясним эти положения на конкретном примере.
Построение перекрестного запроса с использованием мастера
Задача, для решения которой потребуется перекрестный запрос, формулируется так: необходимо выяснить, сколько аварий (чрезвычайных ситуаций) определенных видов произошло на территории разных субъектов Российской Федерации (краев и областей). Источником информации послужит таблица Fiie1.
Формирование перекрестного запроса лучше всего начать с помощью мастера запросов. Открыв вкладку Запросыокна базы данных, с помощью кнопки
выйдите в окно Новый запроси в нем выберите опцию Мастер перекрестных запросов(рис. 11.64). На этом этапе надо выбрать запрос, который содержит поля, используемые в перекрестном запросе. В нашем случае следует выбрать таблицу Fiie1.Если в какой-либо ситуации одной таблицы будет мало, то сформируйте запрос, содержащий все нужные вам поля, а затем используйте его как основу для создания перекрестного запроса.
Рис. 11.64
Когда вы сделаете выбор, на экране появится следующее окно мастера перекрестных запросов (см. рис. 11.65), где вам следует решить, значения каких полей вы хотите оформить в виде заголовков строк. Всего можно указать не более трех полей. Для нашей конкретной задачи в качестве заголовков строк послужат значения поля Регион.Щелкните по кнопке Далее,а затем укажите поля (не больше трех), значения которых станут заголовками столбцов. В данном случае будет выбрано поле Наименование ЧС.После этого вы окажетесь в следующем окне мастера (см. рис. 11.66), где предстоит определить, что же вы хотите вычислить для каждой ячейки, расположенной на пересечении столбца и строки. Вы уже использовали два поля: Название области– для заголовков строк, а Наименование ЧС– для заголовков столбцов.
Читать дальше
Конец ознакомительного отрывка
Купить книгу