А.Ю. Гончаров Access 2003 (960524), страница 20
Текст из файла (страница 20)
Второй шаг мастера перекрестных запросовСоздание перекрестных тайтицI! Выберите поля для ислопьзованияI их !памений е качестве >аголовкое' столбцов.JI' Например, чтобы использовать имякаждого сотрудника в качествезаголовка столбца, выберите полеИ мяСот рудника.ДатаРазмешеииаДатаНазначенияДатаИспопненияДоставкеСтоимость Дос тавкиНазвамиеПопучателяАдресПолучатэляРис. 5.10. Третий шаг мастера перекрестных запросовГлава 510ВНа четвертом шаге мастера (рис.
5.11) требуется выбрать функцию, котораяпозволит сформировать столбец итоговых значений. В нашем примере можноподсчитать общее количество значений (Василий из Костромы сделал 12 заказов,а Егор из Костромы сделал 7 заказов, значит, общее число - 19). Выберем функцию Число (перевод названия хорошо всем известной функции Count).вычисления необходимопровести для каждой ячейки напересечении строк и столбцов'Например, можно вычислить сугиугака JOE для каждого сотрудника(столбец) по страна" и регионам(строка).В&ччслнть итоговое значение длякаждой строки?КадСотрудникаДатаРазмещенмяДатаНаэнэченияДатаИ.полнечияДоставкаСтоимость Дост авкиНазвэниеП олучателяАдрес Пол/чат епяОбпаствПолучателяИн дексПолуч а те ляГ про Д По л уч. | Го род ПилуРис, 5.11, Четвертый шаг мастера перекрестных запросовНа последнем шаге мастера (рис. 5.32) не надо соглашаться с предложенныммастером вариантом названия запроса «Перекрестный запрос», а можно использовать другое имя, например «Сводка по городам».
Как обычно, на этом шагеесть переключатель, который позволит открыть запрос или перейти в режим конструктора после завершения работы мастера. Теперь можно нажимать кнопкуГотово.Полученный перекрестный запрос показан на рис. 5.13. Программа создалав новой таблице поле итогов с весьма длинным именем «Итоговое значение КодЗаказа», в котором просуммировала данные в ячейках таблицы по строкам.
В нашем примере это поле содержит количество заказов для каждого клиента.Поскольку заголовок поля слишком длинный, его можно изменить в конструк-Запросы' Создание перекрестных таблицГ ~ "" ~Залайте имя загцмса.Заказы „перекрестныйУказана все сведения., необходимые для издания матроса с поиощыамастера.Дальнейшие действия после создания запроса:'.
• Просмотреть результаты запроса,О изменить структуру запроса.[_ Вывести справку по работе с перекрестной табпицейРис. 5.12. Последний шаг мастера перекрестных запросовторе запроса. В соответствующей колонке бланка в строке «Поле» надо заменитьэту фразу (которая на самом деле служит именем выражения для этого вычисляемого поля) на что-нибудь более короткое (например, «Итого» или, чтобы былопонятнее, «Всего заказов»).и Заказ ы_п е ре крестный :перекрестный запросLehrnanns WarklslandLet's Slop N S'ncpLILA-SupermefcadoLINQ-DelicatesesLonesome Pine RestauranlMagazzmi Alimentari RiunrtiMaison DeweyMere PaillardeMorgenslem GesundkoslNoiin/SouthOceano Allantico Ltda.Old World Delicatessen_ Ottilies Kaseladen>....Запись: [Riff] f-П,^<[№о'говсе значение | Cowes ] Альбукерке! Анкоридж| Ахен] Бэркисимето ] Барселона] л \Клиент^ СЕЛЮ *" "=8915»1Л13U8I1081353510!1010< !Рис. 5.13.
Перекрестный запрос в табличном представлении'>110Глава 5В определенной ситуации мастер перекрестных запросов мог работать несколько иначе. Четвертый шаг мастера логически связан с предыдущим и можетбыть не таким, как в рассмотренном примере. Этот шаг меняется в зависимостиот того, какое поле выбрал пользователь.
Например, если бы мы выбрали полеДатаИспол нения вместо поля Город Получателя, то мастер не стал бы автоматическиприсваивать заголовкам колонок значения дат, а предложил разбить временнойинтервал на равные промежутки. От человека требуется только выбрать протяженность интервала: год, квартал или месяц. Конечно, можно указать и имя поля,и тогда в заголовках колонок будут указаны конкретные даты. Выберем опцию«Месяц» и посмотрим, что получилось. Результат показан на рис. 5.14.
Программа использовала информацию, чтобы сгруппировать данные по времени, и показала в каждой ячейке таблицы число записей, соответствующих запросу. Мыузнали, кто, сколько и в какие месяцы оформлял заказы.., Заказы пе|и;к|>естный_дата : перекрестный мл росс1КлиентLehmanns MarkislatidLet's Slop N ShopLILASupe'metcadoLINO-DelicatesesLonesome Pine RestauranlMagazzini Aliment ari RmnrtiMaison DeweyMere PaillardeMorgenslern GesundkoslNorth/SouthQeeanc Atlarrtico UdaOld World DelicatessenOllilies Kaseladen:(Итоговое значение! ЯНЕ \ фев Г Majb I апр [ май | иин ] июл [ З Е Т ] сем 152112213411141112111331322118102328221113111222511113115121110112111022112«!Щ1г^1ЬТГ| 1..из 89< I1-3>Рис. 5.14.
Перекрестный запрос с группировкой по времени5.5. Выборка повторяющихся записейРассмотрим в качестве примера таблицу Товары из базы данных «Борей». Название фирмы-поставщика в этой таблице встречается по нескольку раз. Иногдавозникает необходимость сгруппировать записи с одинаковым значением поля длятого, чтобы было легче вести их дальнейшую обработку.
Самым простым решением является сортировка таблицы по соответствующему полю. В Access предусмотрена также возможность создания специального запроса. Его использованиеЗапросынапоминает операцию сортировки, но предоставляет пользователю дополнительные возможности. Запрос для поиска повторяющихся записей выполняется при помощи мастера. Для его запуска надо нажать кнопку Создать на вкладке Запросы,выбрать команду Повторяющиеся записи и щелкнуть кнопку ОК.Первый шаг мастера показан на рис.
5.15. Он позволяет определить источникданных для запроса. В нашем примере это таблица Товары.Поиск повторяющихся записейВыберите таблицу или запрос, в которых требуется начти записи сповторяющимися значениями.Например, чтобы найти город, в котором имеется более одногоклиента, выберите таблицу "Клиенты".Таблица; ДоставкеТаблица; ЗаказамиТаблица: ЗаказыТаблица: КлиентыТаблица: ПоставщикиТаблица: СотруД"нкиТаблица: ТипыПоказать"| Т_аблицыС\ Запросы'";. Таблицы п запросыРис. 5.15. Первый шаг мастера повторяющихся записейНа втором шаге, показанном на рис. 5.16, необходимо выбрать поле, в которомбудет проводиться поиск повторяющихся записей.
Мы указываем полеКод Поставщика. Это подстановочное поле, и в таблице мы увидим названия организаций.При необходимости можно выбрать и несколько полей. Тогда программа будетгруппировать записи, в которых встречаются одинаковые значения по двум полям. Фактически это эквивалентно сортировке по нескольким полям.На третьем шаге мастера, показанном на рис. 5.17, необходимо выбрать поля,которые должны быть показаны в таблице запроса. Мы указываем поля КоцТовара,Марка, НаСкладе, МинимальныйЗапас.На последнем, четвертом шаге мастера, показанном на рис. 5.18, можно задатьимя нового запроса. Фрагмент виртуальной таблицы, являющейся результатомзапроса, показан на рис. 5.19.Глава 5112Поиск повторяющихся записейЗадайте поля, содержащие повторяющиеся значенияНапример, если требуется найти город, в котором имеется более одногоклиента, следует выбрать поля "Город" и "Регион".Доступные поля;Поля с повторами:ивяКодТовараМазка __1ЯИД1?Е динн Ц эИ змеренм нЦенаНаСкладеОжидаетсяМинин а льны ИЗ а п асIi„„._._...
..__Отменаi< Назад__.„..._... _. ___IIДалее >_,_IГотово__„..........Рис. 5.16. Второй шаг мастера повторяющихся записей'поиск повторяют!Выберите дололиительньге паля для отображения вместе сповторяющимися значениями,3 IK" »»»»Например, если выполняется nonet; повторений в поле "Город",дополнительно мо^но вывести поля "ИмяКлиента" и "Адрес".Доступные ПС л яДополнительные поля:'КодТипаI .-•. i КодТовараЦенаОжидаетсяI >;71 1BBBDBOS!г~—Отмена|< Назад|| flanee >Рис.
5.17. Третий шаг мастера повторяющихся записейj |ГотовоiЗапросыПоиск поггоряпщихся записейВведите имя запроса:Поиск повторений для ТоварыДальнейшие действия:0 Прсимот&еть результаты запроса.О Изменить структуру запроса.. Вывести справку по работе i. janpccРис. 5.18.
Четвертый шаг мастера повторяющихсн записей".:'-Поиск повторении для Товарызапрос на выборкуПоставщик>._| Код товараv,™Маркаc- *| На складе Минимальный, з а г э000Экзотика000ЭкзотикаБ6 Aniseed Syrup65 Chang2317Л25000Экзотика64 Chai3S1CJNew Oileans Cajun Delights63 Chef Anton's Gumbo MisNew Orleans Cajun DelightsNew Orleans Cajun Delights20 Louisiana Hot Spiced OkraD4New Orleans Cajun Delights19 Louisiana Fiery Hot Pepper Sauce67 Chef Anton's Cajun Seasoning7653Grandma Kelly's Homestead70 Uncle Bob's Organic Dried PearsISGrandma Kelly's Homestead71 Northwoods Cranberry Sauce' Запись: j Mj|~l LtJ.iLJ. .*]ra 7ЭРис.