Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мак-Федрис2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
10.44 Mб
Скачать
    1. Сделайте текст отчета легко читаемым

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

    1. Сортируйте и (или) группируйте данные

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

10. Правильно организуйте элементы отчетов

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

Организация элементов в отчете

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

Для правильной организации элементов в отчете не требуется чего-либо экстраординарного; она предполагает следующее:

  • группировку связанных элементов;

  • естественный порядок полей;

  • интуитивную понятность принадлежности конкретного элемента определенной группе.

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

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

На панели элементов конструктора отчетов имеется два графических эле­мента: Линия и Прямоугольник. При организации элементов отчета вы можете воспользоваться этими средствами следующим образом.

I 1 ■ Прямоугольник используется для оформления набора связанных

IJ элементов в группу. Расположите эти элементы рядом друг с другом

и нарисуйте вокруг них прямоугольник, ч ■ Линии используются для разделения групп и отдельных элементов. д! Освободите немного пространства между элементами или группа­ми и нарисуйте на этом месте линию.

Совет

Для того чтобы нарисовать с трого вертикальную ипи горизонтальную линию, при 1 рисовании удерживайте нажатой клавишу <bhift>.

В обоих случаях щелкните на соответствующей кнопке панели элементов, после чего нарисуйте на отчете фигуру.

На рис. 13.4 показан пример отчета, использующего эти методики.

Рис. 13.4. Прямоугольник использован для организации связанных эле­ментов в группу, а линии - для разделения отдельных элементов и групп

После того как линия или прямоугольник нарисованы, графику можно от­форматировать, воспользовавшись для этого следующими кнопками панели инструментов форматирования (рис. 13.5).

Цвет заливки/фона. Щелкните на этом списке, а в открывшемся ок­не — на квадратике с нужным цветом фона прямоугольника.

Совет

Если прямоугольник нарисован вокруг множества уже существующих элементов, а после этого был установлен его фон, элементы будут скрыты под непрозрачным фоном. Чтобы решить эту проблему, выделите прямоугольник и выберите коман­ду меню Формат^На задний план. При этом изменится Z-последовательность, и прямоугольник окажется позади остальных элементов.

Цвет линии/границы. Щелкните на этом списке, в открывшемся ок­не щелкните на квадратике с нужным цветом линии или границы пря­моугольника.

Толщина линии/границы. Откройте этот список и выберите цифру с нужной толщиной линии или границы прямоугольника.

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

Создание разрывов страниц

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

Для вставки разрыва страницы в отчет нужно выполнить следующие действия:

1—1"' 1. Щелкнуть на кнопке Разрыв страницы панели инструментов.

ГД 2. Щелкнуть в том месте отчета, в котором должен присутствовать разрыв страницы. Программа отобразит шесть точек, маркирую­щих место нахождения будущего разрыва.

Размещение текста в отчете

В отличие от остальных объектов базы данных, в отчете не содержится практически ничего, кроме текста. За исключением нескольких рисунков, а также линий и прямоугольников, введенных для организации данных, отчет представляет собой текст: заголовок и подзаголовок, номера страниц, дата и время, вводные инструкции, названия полей и, естественно, сами данные — все эти элементы выводятся в виде текста. Это значит, что при работе с отче­том значительную часть времени придется работать именно с текстом, поэто­му недостаточно принять установки по умолчанию, предложенные програм­мой Access, и просто разместить элементы в отчете — текст должен стать внут­ренней частью общего дизайна отчета. В конце концов, правильно отформа­тированные символы сделают отчет понятным и легко читаемым, в то время как небрежное форматирование может погубить даже самый удачный во всех других отношениях отчет.

Тексту нужно уделить особое внимание, поскольку cix) понятность и визу­альное восприятие зиждется на четырех столпах, определяющих "архитектуру" каждого из символов. Это — шрифт, его размер и стиль, а также периодичность символов. В представлении конструктора отчетов можно изменять любые из этих атрибутов.

Более подробно об архитектуре текста читайте в разделе "Размещение текста на форме" главы 10.

Форматирование текста

Для форматирования текста элементов отчета можно использовать следующее:

Панель инструментов форматирования. Как мы видим на рис. 13.5, эта панель содержит шесть кнопок: Шрифт, Размер шрифта, Полужирный, Курсив, Подчеркнутый и Цвет текста. Для выравнивания текста внутри элемента можно использовать также кнопки По левому краю, По центру и По правому краю.

Окно свойств элемента. В этом окне во вкладке Макет содержатся шесть строк характеристик текста: Цвет текста, Шрифт, Размер шрифта, Насыщенность, Курсив и Подчеркнутый. Для изменения стиля выравни­вания можно также воспользоваться параметром Выравнивание текста.

Рис. 13.5. Отчет с рядом примеров форматирования текста

Советы и замечания относительно форматирования текста

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

  • Не устанавливайте слишком мелкий размер шрифта. По умолчанию в про­грамме Access используется размер 8 точек, однако вы окажете читателю большую услугу, увеличив его до 10 или даже 12 точек.

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

  • Не используйте слишком вычурный шрифт. Лучше всего будет смотреться простой шрифт без засечек (например, Arial CYR).

  • Не смешивайте разные шрифты. Попробуйте ограничиться одним, мак­симум двумя типами шрифта. Если нужно выделить некоторые разделы отчета, это всегда можно сделать с помощью размера и стилей.

  • Используйте полужирный стиль. Названия полей, а также другие надпи­си можно выделить, применяя к ним полужирный стиль. Старайтесь избегать других эффектов, таких как курсив и подчеркивание.

  • Обратите внимание на фон. Для улучшения читабельности применяйте максимально контрастные схемы цвета шрифта и фона. Лучшим вари­антом станет темный текст на светлом фоне. Не используйте в качестве фона рисунки, если текст не выделяется на них достаточно хорошо (для усиления выделения можно использовать полужирный стиль, больший размер букв, а также более темный цвет шрифта).

Тонкости форматирования

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

Работа с цветом

Ранее мы уже ознакомились с греми приемами настройки цветов отчетов.

  • Для настройки фона элемента его нужно выделить и выбрать один из цветов, предлагаемых при щелчке на кнопке Цвет заливки/фона пане­ли инструментов форматирования. Можно также открыть окно свойств объекта и изменить значение в строке Цвет фона вкладки Макет.

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

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

Создание нестандартных цветов

Панели цветов предлагают выбрать один из 40 вариантов. В то же время в окне свойств объекта можно создать и свой, нестандартный цвет. Для этого:

  1. Выделите на форме элемент, с которым собираетесь работать.

  2. Откройте окно свойств объекта (для этого выберите в меню команду ВидОСвойства или нажмите комбинацию клавиш <Alt+Enter>).

  3. Перейдите к вкладке Макет.

  4. Выберите то цветовое свойство, с которым будете работать.

  5. Откройте диалоговое окно Цвет, щелкнув на кнопке троеточия.

  6. Разверните диалоговое окно, щелкнув на кнопке Определить цвет.

Создание дополнительных цветов с помощью элементов раскрытого диалогового

окна Цвет описано в разделе "Создание нестандартных цветов" главы 10.

  1. С помощью элементов окна создайте нужный цвет.

  2. Щелкните на кнопке Добавить в набор, после чего сформированный цвет будет сохранен в одном из блоков области Дополнительные цвета.

  3. Щелкните на прямоугольнике области Дополнительные цвета, содер­жащем созданный цвет.

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

Эффективное использование цвета в отчетах

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

Когда под рукой большое количество цветов, возникает естественное же­лание использовать на каждой странице, по крайней мере, десяток из них. Однако слишком большое количество цветов может только запутать пользова­теля и быстро утомить его глаза. Старайтесь использовать в отчете не более двух-трех цветов. Если вам кажется, что данного количества явно не хватает, попробуйте дополнить эту пару цветов их же оттенками.

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

Предупреждение

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

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

Добавление в отчет рисунков

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

Для добавления в отчет рисунка выполните следующие действия.

, 0| 1. На панели элементов щелкните па кнопке Рисунок.

    1. Растяните в отчете контур области, в которую будет помещен рису­нок. Когда кнопка мыши будет отпущена, программа откроет окно Выбор рисунка.

    2. Выберите папку и файл рисунка и щелкните на кнопке ОК.

    3. При необходимости измените размеры рисунка.

    4. Откройте окно свойств объекта.

    5. Перейдите к вкладке Макет.

    6. В строке Установка размеров выберите одно из следующих значений:

Фрагмент. Рисунок будет отображаться, с использованием своих фактических размеров. Если размеры рисунка превышают разме­ры элемента, соответствующие его части будут усечены.

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

    1. В строке Выравнивание рисунка выберите нужное значение (по лево­му, верхнему, правому, нижнему краю элемента или по его центру).

    2. Если в строке Установка размеров выбран пункт, отличный от Фрагмент, вы можете установить свойство Мозаичное заполнение в значение Да или Нет. В первом случае рисунок будет повторен на элементе так, чтобы заполнить собой все его пространство; во вто­ром случае рисунок будет отображен только единожды.

10. Закройте окно свойств.

Добавление спецэффектов

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

  • Открыть список спецэффектов на панели инструментов форматирова­ния и щелкнуть на нужном (рис. 13.6).

  • Открыть окно свойств объекта, перейти к вкладке Макет и в строке Оформление выбрать нужный стиль.

Рис. 13.6. Панель Оформление используется для создания показанных на данном рисунке эф­фектов границ

Создание для текста эффекта тени

Эффект тени, о котором речь шла в предыдущем разделе, применим только к границам элементов. А как этот же эффект применить к тексту надписи? Можно выполнить следующую последовательность действий:

  1. Добавить в отчет надпись, отредактировать ее текст и при необходимо­сти настроить форматирование.

  2. Выделив надпись, развернуть палитру Цвет линии/границы (см. рис. 13.5) и щелкнуть на кнопке Прозрачный.

  3. Выбрать в меню команду Правка<=>Дублировать, и создать копию рисунка.

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

Примечание

Если требуется очень точное смещение копии относительно оригинала, вы може­те, удерживая клавишу <Ctrl>, нажимать клавиши стрелок. Каждое такое нажатие будет смещать копию на один пиксель в нужном направлении.

  1. В окне свойств и вкладке Макет выбрать для копии относительно свет­лый цвет шрифта (например, светло-серый).

На рис. 13.7 показан пример оттененного текста.

Рис. 13.7. Для создания эффекта тени можно ис­пользовать дубликат надписи

Что читать дальше

  • Ограничение состава записей только »кпремальными значениями они сано в плане 1.

  • Более подробное описание элементов архитектуры текста содержится в разделе "Размещение текста на форме" главы 10.

  • Подробное описание работы с расширенным окном выбора цвета со­держится в разделе "Работа с цветом" главы 10.

  • Основам работы с конструктором отчетов посвящен одноименный раз­дел главы 12.

  • Различные методы работы с элементами в конструкторе отчетов описа­ны в разделе "Работа с элементами отчета" главы 12.

  • О группировке записей в отчетах читайте в главе 14.

  • Создание в отчете вычисляемых элементов описано в разделе "Добавление в отчет вычислений" главы 14.

Создание подотчетов (отчетов, включающих данные из нескольких свя­занных таблиц) описано в разделе "Создание многотабличных отчетов" главы 15

.Создание

расширенных

отчетов

Механизм создания отчетов в про­грамме Access довольно хорошо скон­струирован — несмотря на обилие воз­можностей, для создания простых от­четов их использовать напрямую со­всем не обязательно. При работе с функцией Автоотчет, мастером и кон­структором отчетов создание простых отчетов максимально упрошено.

Если вы хотите поднять создавае­мые отчеты на новый, более высокий уровень, механизмы, предлагаемые программой Access, опять же вас вполне удовлетворят. В то же время, по мере повышения вашего профес­сионального уровня в области созда­ния отчетов некоторые методики и функции немного усложнятся. Одна­ко не волнуйтесь — нет ничего тако­го, что вы не смогли бы выполнить, особенно если использовать предла­гаемую главу в качестве путеводителя. Здесь вы узнаете о сортировке и груп­пировке, добавлении вычислений, за­пуске отчетов с помощью макросов и кнопок, а также о ряде методов управ­ления выводом отчетов.

Сортировка

и группировка в отчетах

Мастер отчетов предлагает различ­ные варианты сортировки и группи­ровки записей на основании значений одного или нескольких полей. Если

14

В ЭТОЙ ГЛАВЕ

Сортировка и группировка

Создание и использование форм 1

В ЭТОЙ ГЛАВЕ 1

|И< пользование инструмента «шгоформы 3

Создание простых форм с помощью мастера 7

Навигация в форме 9

Создание формы в конструкторе 10

Что читать дальше 21

.Работа с элементами форм 21

Манипуляции с элементами форм 21

Добавление в форму надписей 33

Г" 33

Добавление в форму текстовых полей 35

Что читать дальше 39

Предотвращение ошибок за счет проверки данных 42

Использование элементов управления, ограничивающих выбор вариантов данных 48

Ввод данных с помощью элементов ActiveX 60

Что читать дальше 64

Особенности создания деловых форм 65

.Использование форм на производстве 66

Десять советов относительно создания деловых форм 67

.Создание 84

.Ill 102

Создание и настройка отчетов 102

оСоздание и публикация отчетов 104

В ЭТОЙ ГЛАВЕ 104

ЯОсобенности создания деловь отчетов 130

В ЭТОЙ ГЛАВЕ 130

.Создание 156

расширенных 156

отчетов 156

14 156

В ЭТОЙ ГЛАВЕ 156

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

В ЭТОЙ ГЛАВЕ 175

Настройка отчета на размещение начала секции в начале строки или столбца описана в соответствующем разделе главы 14.Предметный указатель 196

  • Выбрать в меню команду ВидОСортировка и группировка.

  • Щелкнуть на кнопке Сортировка и группировка панели инструментов Формат (форма/отчет) (рис. 14.1).

Программа откроет окно, показанное на рис. 14.1.

Рис. 14.1. Это окно используется для сортировки и группировки записей на основе значений одного или нескольких полей

Установка параметров сортировки

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

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

  2. В ячейке Порядок сортировки, смежной с введенным именем поля, вы­берите один из следующих вариантов упорядочивания: По возрастанию или По убыванию.

  3. При необходимости повторите действия 1-2 для других полей, по кото­рым будет проводиться упорядочивание.

Настройка параметров группировки

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

Для группировки записей в отчете выполните следующие действия.

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

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

    3. Для добавления в отчет секции примечаний группы выберите в строке Примечания группы значение Да.

    4. В строке Группировка нужно указать метод формирования групп.

  • В случае числового поля нужно выбрать значение Интервал. В поле Интервал нужно ввести числовое значение, которое будет использо­вано в качестве основы группировки. Например, при выборе значе­ния 10 будут комбинироваться значения 1-10, 11-20 и т.д.

  • В случае текстового поля нужно выбрать значение По первым знакам. В поле Интервал нужно указать количество первых симво­лов, на основании которых будет проводиться группировка. К при­меру, если в этом поле ввести число 2, группировка будет выпол­няться по первым двум символам строк.

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

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

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

ким образом шголоиок 11>s iMii.i in 111 iанется обособленным на отделi. ной странице.

6. Закройте окно Сортиропк.1 и (руннировка.

Рис. 14.2. В этом окне определяется сортировка и группировка таблицы Заказы по полю Цена

Рис. 14.3. Окно конструктора отчетов с открытыми секциями заголовка и при­мечаний группы

На рис. 14.2 показано заполненное окно Сортировка и группировка, в кото­ром определены группы и упорядочивание по полю Цена таблицы Товарыд На рис. 14.3 показан отчет в представлении конструктора с открытыми секции ми заголовка и примечаний группы. (Обратите внимание, что данным разделам присвоены названия Заголовок группы ' выражение группировки', где выражение группировки — имя поля или выражение, указанное в соответствую­щей строке столбца Попе/выражение окна Сортировка и группировка).

В показанном примере в секции заголовка и примечаний отчета добавлены иычисляемые поля: в заголовке отображаются минимальное и максимальное значения цен на данный товар (при этом использованы функции агрегирования Min и Мах; см. раздел "Добавление в отчет вычисления" далее в этой главе); в примечаниях отображается количество записей в группе (с использованием функции Count). На рис. 14.4 показана одна страница результирующего отчета.

Рис. 14.4. Отчет, показанный на рис. 14.3, открыт в режиме предваритель­ного просмотра

Сортировка и группировка с использованием выражений

В диалоговом окне Сортировка и группировка в столбце Попе/выражение

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

К примеру, вышеупомянутая таблица Заказы содержит поля Цена и НаСкладе (остатки на складе). Произведение значений этих полей даст нам остатки на складе в суммовом выражении. А теперь предположим, что нужно отсортировать и сгруппировать записи на основе именно этой ве­личины. Для этого можно использовать следующее выражение: =[Цена] * [НаСкладе!

На рис. 14.5 показано диалоговое окно Сортировка и группировка, в кото­ром в ячейку Поле/выражение введено представленное выше выражение.

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

Добавление в отчет вычислений

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

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

  • для отображения результатов выражения (этой теме посвящен раздел "Использование текстовых полей в качестве вычисляемых элементов" далее в этой главе);

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

Вставка текстового поля

Для создания текстового поля выполните следующие действия.

. 1. Щелкните на кнопке Поле панели элементов.

  1. Нарисуйте в форме контуры текстового поля. Программа автомати­чески вставит поле и ассоциированное с ним название.

  2. При необходимости отредактируйте название поля.

Ниже перечислены и описаны некоторые наиболее важные свойства тек­стового поля.

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

Число десятичных знаков (вкладка Макет). Здесь задается количество десятичных знаков, отображаемых в числах.

Значение по умолчанию (вкладка Данные). Здесь задается текст, изна­чально отображаемый в текстовом поле.

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

Использование текстовых полей в качестве вычисляемых элементов

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

Более подробно о создании вычисляемых столбцов в запросах читайте в разделе

"Настройка вычисляемых столбцов" главы 2.

В создаваемых отчетах можно выполнять нечто аналогичное. В выражении вычисляемого поля могут использоваться операторы программы Access, опе­ранды, а также функции; при этом могут использоваться значения как при­соединенных, так и свободных элементов.

Для создания элемента вычисляемого текстового поля нужно выполнить следующие действия:

    1. Нарисовать на форме контуры текстового поля (см. предыдущий раздел).

    2. Выделить созданное текстовое поле.

    3. Выбрать в меню команду Вид<=>Свойства (или нажать комбинацию кла­виш <Alt+Enter>). Откроется окно свойств элемента.

    4. Перейти к вкладке Данные.

    5. В строке Данные ввести выражение. Следует обратить внимание, что в на­чале строки выражения должен стоять знак равенства. Если вы хотите ис­пользовать Построитель выражений, щелкните на кнопке с троеточием.

    6. Закрыть окно свойств элемента.

Совет

Выражение можно ввести непосредственно в текстовом поле.

Примечание

Если вычисляемое поле вводится в ыго/юнок либо в примечание отчета, про- I грамма производит вычисления на ви'м множс< гве данных отчета. Аналогично, ] если вычисляемое поле добавляется в один и) колонтитулов страницы, в вычис J лениях будут участвовать только записи текущей страницы. Если же вычисляемое ! поле добавляется в заголовок либо примечание группы, программа производи! вычисления на множестве данных группы.

В качестве примера на рис. 14.6 приведен отчет с добавленными в него вы­числяемыми текстовыми полями.

Рис. 14.6. Для создания вычисляемого элемента введите в текстовое поле (или в свойство Данные) некоторое выражение

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

= "Цены от " & Min(FormatCurrency([Цена])) & " до " & Max(FormatCurrency([Цена]))

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

Второе вычисляемое поле в примере расположено в примечании группы; для него используется следующее выражение: = "Общее количество товар ценовой группы: " & Count(FormatCurrency([Цена]))

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

В припедепном на рис. 14.(> примере два вычисляемых моля включены в секцию нижнего колонтитула. В левой части выводится дата и время вывода на печать отчета с использованием выражения: =Now()

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

= "Стр. " & [Page] & " из " & [Pages]

Здесь [Page] — идентификатор, содержащий номер текущей страницы, а [ Pages ] — переменная с общим количеством страниц в отчете.

На рис. 14.7 показан данный отчет, открытый в окне предварительного просмотра.

Рис. 14.7. Отчет из рис. 14.6, открытый в окне предварительного просмотра

ПРАКТИКУМ

Создание отчета в виде счета-фактуры

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

На рис. 14.8 показан такой счет, открытый в окне конструктора отчетов. Источни­ком данных этого отчета является запрос рис14_08 базы данных примеров. Этот сложный многотабличный запрос отбирает данные из нескольких таблиц, в том числе из Клиенты,Заказы, Заказано и Товары.

Рис. 14.8. В отчет Счет включено множество вычисляемых полей

В данном практикуме нас интересуют вычисляемые элементы, внедренные в этот

отчет. Вот их перечень:

  • В секции Верхний колонтитул в поле даты использована функция Date с при­менением к ней формата dd-mm-yyyy в функции Format:

=Format(Date(), "dd-mm-yyyy")

  • В секции Заголовок группы 'КодЗаказа' области Получатель и К оплате ото­бражаются реквизиты плательщика и получателя заказа. В обоих случаях наи­лучшей последовательностью полей будет область-город-индекс.

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

=IIf([Область] Is Null,[Город] & " " & [Индекс]ЛГород] & " " & [Область] & " " & [Индекс])

Функция iif проверяет поле Область на наличие значения. Если оно отсутст­вует, вместо него отображается пустая строка. Аналогичное решение примене­но и в области Получатель.

  • В секции Область данных вычисляемый элемент ОтпускнаяЦена (сумма по строке с учетом скидки) использует следующее выражение:

=[Количество] * [Цена] * (1-[Скидка])

Имя этого поля нужно запомнить для выполнения следующего пункта обзора.

  • В секции Примечание группы 'КодЗаказа' для текстового поля Сумма (элемент ПромежуточнаяСуммаСчета) вычисляется сумма сумм по строкам счета фактуры:

=Sum([ОтпускнаяЦена])

  • В этом же разделе отображается поле СтоимостьДоставки.

  • В заключение, общая сумма по счету (итогиСчета) вычисляется как сумма предыдущих двух величин:

=[ПромежуточнаяСуммаСчета] + [СтоимостьДоставки]

На рис. 14.9 показана счет-фактура из описанного выше примера в представлении предварительного просмотра.

Рис. 14.9. Форма, показанная на рис. 14.8 и открытая в окне предварительного просмотра

Специальные методы им юва отчетов

Для вызова отчета на выполнение в обычном режиме работы программы Access и нахождении в окне конструктора отчетов можно выбрать команду меню Вид^Предварительный просмотр либо ныбрать одноименную команду в меню кнопки Вид панели инструментов. Если вы работаете в окне Базы дан­ных, для этого достаточно дважды щелкнуть на названии отчета.

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

Запуск отчетов с помощью командной кнопки

Командные кнопки в программе Access ничем не отличаются от аналогич­ных кнопок в операционной системе Windows. Их примерами могут служить привычные в диалоговых окнах кнопки ОК и Отменить. Естественно, в про­грамме Access эти кнопки нужно запрограммировать. В настоящем разделе бу­дет показано, как программировать командные кнопки для запуска отчета в окне предварительного просмотра. В идеальном случае все кнопки помеща­ются на специальную форму, называемую главной кнопочной формой — она служит интерфейсом взаимодействия с конечным пользователем.

Особенности создания главной кнопочной формы описаны в практикуме главы 11.

Для добавления на форму командной кнопки, запускающей на выполне­ние отчет, выполните следующие действия.

1. Откройте нужную форму в представлении конструктора, р^г 2. Убедитесь, что на панели элементов кнопка Мастера находится в нажатом состоянии, после чего щелкните на кнопке Кнопка.

  1. На форме мышью растяните контур создаваемой кнопки. Про­грамма автоматически запустит Мастер командных кнопок.

  2. В списке категорий первого окна мастера выберите пункт Работа с отчетом.

  3. В списке действий выберите пункт Просмотр отчета (рис. 14.10).

Рис. 14.10. В категории Работа с отчетом выберите действие Просмотр отчета

Примечание

Категория Работа с отчетом содержит также и три других действия:

Отправить отчет по почте. Инициируется процесс отправки отчета в качестве прикрепления к письму электронной почты. Это идентично выбору в меню ко­манды Файл^Отправить^Сообщение (как вложение) в режиме предвари­тельного просмотра отчета.

Печать отчета. Отчет выводится непосредственно на принтер (при этом не от­крывается диалоговое окно Печать). Это идентично щелчку на кнопке Печать на панели инструментов предварительного просмотра.

Отправить отчет в файл. Отчет будет записан в отдельный файл на диске. При этом пользователю потребуется задать формат файла, его размещение и имя. Это идентично выбору в меню команды Файл^Экспорт.

  1. Щелкните на кнопке Далее. В следующем окне мастера программа от­кроет список доступных отчетов.

  2. Выберите нужный отчет и щелкните на кнопке Далее.

  3. В следующем окне программа предложит вам выбрать один из двух ва­риантов отображения кнопки (после выбора нужно снова щелкнуть на кнопке Далее):

  • Текст. При выборе этого варианта на кнопке будет отображаться текст, введенный в соседнем текстовом поле этого окна мастера.

  • Рисунок. При выборе этого варианта на кнопке будет отображен ри­сунок. Для открытия полного списка всех доступных рисунков нуж­но установить флажок в поле Показать все рисунки.

    1. В последнем окне мастера можно изменить имя командной кнопки. 10. Для завершения операции щелкните на кнопке Готово.

Запуск отчета с помощью макрос и

Действие Просмотр отчета открывав отчет в режиме предварительного просмотра. А что делать, если требуется одпоиременно выполнить несколько действий (к примеру, открыть отчет, развернуть окно, а затем выдать пользо­вателю некоторое сообщение)? Этого нельзя сделать с помощью встроенных для командных кнопок действий; в то же время можно создать дополнитель­ное действие, т.е. макрос.

Макросом называется некоторая последовательность действий (например, открытие отчета и применение фильтра), заключенная в один объект. Когда пользователь запускает макрос, программа Access выполняет каждое из опре­деленных в нем действий в заданном порядке.

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

Создание макросов

В отличие от работы с традиционными языками программирования, на­пример с Visual Basic for Application, процесс создания макросов не представ­ляет такой уж сложный процесс. Программа Access предлагает ограниченное число действий, которые можно задействовать в макросах. Несмотря на то, что общее количество действий в программе превышает 50, лишь немногие из них применимы к отчетам. Таким образом, создание макросов представляет собой простой процесс выбора действий с последующим их конфигурирова­нием (с помощью простых списков и текстовых полей).

Для начала нужно воспользоваться одним из следующих методов:

  • выбрать вкладку Макросы в окне Базы данных и щелкнуть на кнопке Создать;

  • выбрать в меню команду Вставка^Макрос;

  • в списке Новый объект панели инструментов выбрать пункт Макрос.

Откроется окно, показанное на рис. 14.11.

Рис. 14.11. В этом окне создается новый макрос

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

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

  2. В правой колонке при необходимости можно ввести краткое примеча­ние к данному действию.

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

  4. Если в макрос требуется добавить дополнительные действие, повторить шаги 1—3.

  5. Сохранить макрос.

  6. Протестировать созданный макрос одним из следующих методов:

  • выбрать в меню команду Запуска Запуск;

  • щелкнуть на кнопке Запуск панели инструментов (эта кнопка ото­бражается в режиме редактирования макроса);

  • во вкладке Макросы окна баз данных дважды щелкнуть на названии макроса;

  • если макрос предполагает наличие открытого отчета (например, если макрос предназначен для закрытия отчета), открыть соответствующий отчет и выбрать в меню команду СервисоМакрос^Выполнить макрос. Откроется диалоговое окно, показанное на рис. 14.12. После выбора в списке Имя макроса нужного названия щелкнуть на кнопке ОК.

Рис. 14.12. Если созданный макрос требует наличия открытого отчета, откройте его и запустите макрос посредством этого окна

Ниже перечислен ряд основных действий, которые применимы в сценари­ях для отчетов.

Сигнал. Подача звукового сигнала.

Закрыть. Закрытие заданного объекта базы данных. Для отчета в аргу­менте Тип объекта нужно выбрать значение Отчет, после чего в списке Имя объекта выбрать нужное название. Если перед закрытием отчет следует сохранять, в списке Сохранение нужно выбрать значение Да (если пользователю требуется выдавать запрос на сохранение, нужно выбрать пункт Подсказка).

УдалитьОбъект. Удаление заданного объекта базы данных. Для отчета в аргументе Тип объекта нужно выбрать значение Отчет, после чего в списке Имя объекта выбрать нужное название.

Предупреждение

Действие УдалитьОбъект нужно использовать с большой осторожностью, по­скольку при его выполнении программа не выдает запрос на подтверждение опе­рации, а сразу удаляет объект.

Развернуть. Разворачивание текущего окна. Свернуть. Сворачивание текущего окна.

СдвигРазмер. Перемещение и(или) изменение размеров текущего ок­на. Для смещения окна следует ввести значения в поля По правому краю и От верхнего края (эти значения определяют положение верх­него левого угла окна); для изменения размеров — в поля Ширина и Высота.

Сообщение. Открытие окна сообщения. В поле Сообщение нужно ввести требуемый текст; в аргументе Сигнал определить, должна ли программа при открытии сообщения подавать звуковой сигнал; из списка Тип выбрать тип пиктограммы, отображаемой в диалоговом окне (например, Критическое, Информационное и т.д.); в аргументе Заголовок ввести текст, который бу­дет отображаться в заголовке диалогового окна.

ОткрытьОтчет. Открытие отчета, определенного аргументом Имя отчета. В поле Режим следует выбрать представление, в котором будет отображаться отчет (Печать, Конструктор, Просмотр). Если требуется

установить некоторый фильтр, в поле Имя Фильтра следует задать имя соответствующего запроса или фильтра, сохраненного как запрос. В ка­честве альтернативы можно вручную ввести критерий в поле Условие отбора (аналог выражения, помещаемого в секцию WHERE выражения SQL SELECT). В поле Режим окна нужно выбрать способ отображения окна отчета: Обычное, Скрытое, В виде значка (свернутое) или Диалоговое (пользователь в этом случае не может перейти к другому окну или команде меню).

В аргументе Условие отбора не нужно вводить ключевое слово where; достаточ­но самого выражения. Более подробно о секции where выражения SQL select можно прочитать в разделе "Ключевое слово where" главы б.

ВывестиВФормате. Вывод отчета в файл. Для отчета в аргументе Тип объекта нужно выбрать значение Отчет, после чего в списке Имя объекта выбрать нужное название. В поле Формат вывода нужно вы­брать формат файла, а в поле Имя файла ввести соответствующее имя и путь. Если требуется, чтобы после записи файл открывался ассоцииро­ванным ему приложением (например, файл типа RTF открывался при­ложением Word), установите значение Да в поле Автозагрузка. Печать. Вывод отчета на печать. В поле Распечатать нужно выбрать диа­пазон страниц. Он может принимать следующие значения: Все (печать всего отчета), Фрагмент (вывод на печать только выделенного текста; этот пункт не имеет смысла при работе с отчетами, так как последние доступ­ны только для чтения) и Страницы (вывод на печать только заданного в последующих двух полях — Со страницы и По страницу — диапазона). Здесь же можно задать стандартные дополнительные параметры печати, касающиеся качества печати (Разрешение), количества копий (Число копий) и разборки по копиям (Разобрать копии).

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

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

Сохранить. Сохранение заданного объекта базы данных. Для отчета в ар­гументе Тип объекта нужно выбрать значение Отчет, после чего в списке Имя объекта выбрать нужное название.

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

сообщение перед его ширинкой, и поде Изменение сообщения выберите значение Нет.

ЗадатьЗначение. Установка значения элемента, поля или свойства. В ар­гументе Элемент нужно ввести имя объекта, а в аргументе Выражение — 1 выражение, результат которого будет присвоен объекту (выражению в дан­ном случае не должен предшествовать знак равенства). ПоказатьВсеЗаписи. Снятие ранее установленного фильтра.

Сопоставление макроса командной кнопке

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

  1. Открыть форму в режиме конструктора, убедиться, что на панели 401 элементов кнопка Мастера находится в нажатом положении, после

чего щелкнуть на кнопке Кнопка.

  1. На форме мышью растянуть контуры кнопки, после чего отпустить кнопку мыши. Откроется первое окно Мастера командных кнопок.

  2. В списке категорий выбрать пункт Разное.

  3. В списке действий выбрать пункт Выполнить макрос.

  4. Щелкнуть на кнопке Далее. В следующем окне программа отобра­зит список доступных макросов.

  5. Выберите нужный макрос и снова щелкните на кнопке Далее.

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

  • Текст. При выборе этого варианта на кнопке будет отображаться текст, введенный в соседнем текстовом поле этого окна мастера.

  • Рисунок. При выборе этого варианта на кнопке будет отображен рисунок. Для открытия полного списка всех доступных рисун­ков нужно установить флажок в поле Показать все рисунки.

    1. При необходимости измените имя командной кнопки и щелкните на кнопке Готово.

Сопоставление макроса событию отчета

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

Для ассоциирования макроса с событием нужно выполнить следующие действия:

    1. Открыть отчет в представлении конструктора.

    2. Выделить отчет в целом.

    3. Выбрать в меню команду ВидоСвойства, после чего откроется диало­говое окно свойств объекта.

    4. Перейти к вкладке События. Здесь перечислены все события, к кото­рым можно подключить макрос (рис. 14.13).

Рис. 14.13. Во вкладке События с определен­ным событием можно ассоциировать макрос

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

Примечание

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

    1. Закрыть окно свойств объекта.

Управление выводом

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

Добавление разрывов страниц после секций

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

программы выполнять это действие шпомшичес ки при выводе документа на печать. Для этой цели существует i notli ню Конец страницы.

      1. Откройте отчет в представлении конструктора.

      2. Выделите секцию, с которой собираетесь работать.

      3. Откройте окно свойств объекта (Вид"=>Свойства).

      4. Перейдите к вкладке Макет.

      5. В списке Конец страницы выберите один из следующих пунктов.

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

После раздела. Разрыв страницы будет вставляться после конца дан­ной секции — следующая секция будет начинаться с новой страницы.

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

      1. Закройте окно свойств объекта.

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

Установка начала секции в начале строки или столбца

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

Более подробно о создании многоколоночных отчетов говорится в главе 15.

        1. Откройте отчет в представлении конструктора.

        2. Выделите секцию, с которой собираетесь работать.

        3. Откройте окно свойств объекта (ВидОСвойства).

        4. Перейдите к вкладке Макет.

        5. В списке Новая строка или столбец выберите один из следующих пунктов.

До раздела. Данная секция будет начинаться с начала столбца или строки.

После раздела. Следующая секция будет начинаться с начала столбца или строки.

До и после раздела. Данная секция будет обособлена в отдельном столбце или строке.

        1. Закройте окно свойств объекта.

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

Устранение разрывов в записях

Часто конец страницы попадает на внутреннюю часть секции, в результате чего на следующей странице отображается только осколок данных, а это зна­чит, что отчет может быть не понятен пользователю. Формы программы Access имеют свойство Не разрывать, позволяющее отображать на странице только секцию целиком; в случае невозможности такого размещения вся сек­ция переносится на следующую страницу.

          1. Откройте отчет в представлении конструктора.

          2. Выделите секцию, с которой собираетесь работать.

          3. Откройте окно свойств объекта (ВидОСвойства).

          4. Перейдите к вкладке Макет.

          5. В поле Не разрывать выберите значение Да.

          6. Закройте окно свойств объекта.

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

Что читать дальше

  • Создание вычисляемых столбцов в запросах описано в соответствую­щем разделе главы 2.

  • Структура предложения WHERE выражения SQL SELECT рассматривает­ся в соответствующем разделе главы 6.

  • Об особенностях создания главной кнопочной формы читайте в прак­тикуме главы 11.

  • Основам создания отчетов посвящена глава 12.

  • Приемы работы с элементами отчетов описаны в главе 12.

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

специализированных отчето

в

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

Механизм создания отчетов в программе Access — наиболее при­способленное к различным ситуа­циям средство. Рассмотренные на­ми в предыдущих главах средства открывали широкие возможности настройки компоновки, формати­рования, вычислений и создания отчетов. В дополнение программа Access предлагает более широкий спектр инструментов, позволяю­щий создавать специальные виды отчетов: многоколоночные и мно­готабличные отчеты, почтовые на­клейки, документы слияния, а так­же сводные диаграммы. В этой гла­ве мы подробно остановимся на каждом из этих типов отчетов.

В ЭТОЙ ГЛАВЕ

Создание и использование форм 1

В ЭТОЙ ГЛАВЕ 1

|И< пользование инструмента «шгоформы 3

Создание простых форм с помощью мастера 7

Навигация в форме 9

Создание формы в конструкторе 10

Что читать дальше 21

.Работа с элементами форм 21

Манипуляции с элементами форм 21

Добавление в форму надписей 33

Г" 33

Добавление в форму текстовых полей 35

Что читать дальше 39

Предотвращение ошибок за счет проверки данных 42

Использование элементов управления, ограничивающих выбор вариантов данных 48

Ввод данных с помощью элементов ActiveX 60

Что читать дальше 64

Особенности создания деловых форм 65

.Использование форм на производстве 66

Десять советов относительно создания деловых форм 67

.Создание 84

.Ill 102

Создание и настройка отчетов 102

оСоздание и публикация отчетов 104

В ЭТОЙ ГЛАВЕ 104

ЯОсобенности создания деловь отчетов 130

В ЭТОЙ ГЛАВЕ 130

.Создание 156

расширенных 156

отчетов 156

14 156

В ЭТОЙ ГЛАВЕ 156

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

В ЭТОЙ ГЛАВЕ 175

Настройка отчета на размещение начала секции в начале строки или столбца описана в соответствующем разделе главы 14.Предметный указатель 196

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

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

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

Настройка отчета

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

Для примера предположим, что на листе А4 (шириной 210 мм) нужно ор­ганизовать два столбца с интервалом между ними 10 мм. Предполагая, что по­ля справа и слева занимают по 20 мм каждое, мы получим оставшиеся 150 мм, которые нужно разделить на два. В результате мы получим, что никакая из секций отчета не должна превышать по ширине 75 мм. (Для отслеживания ширины отчета вы можете использовать горизонтальную линейку. Если ли­нейка на экране не отображается, выберите команду меню Вид^Линейка.)

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

Настройка параметров страницы

Многоколоночная компоновка отчета настраивается в диалоговом окне параметров страницы. Для этого нужно:

  1. Выбрать в меню команду ФайлОПараметры страницы.

  2. Во вкладке Поля следует установить размеры правого и левого полей. Эти числа понадобятся для подсчета оптимальной ширины колонок.

  3. Перейти к вкладке Столбцы.

  4. В группе Параметры сетки в текстовом поле Число столбцов следует ввести количество колонок, в которых будет выводиться отчет. Когда в это поле вводится число, большее единицы (рис. 15.1), активизируется группа Макет столбца.

Рис. 15.1. Во вкладке Столбцы параметров страницы устанавливаются настройки много колоночного отчета

  1. Если между записями нужно вставить интервал, превышающий стан­дартный, дополнительное значение следует задать в поле Интервал строк.

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

  3. В текстовом поле Ширина группы Размер столбца программа автома­тически устанавливает подсчитанное значение (предполагается, что ус­тановлен флаг По размеру данных). Если программа этого не сделала, введите в это поле вручную ширину одного столбца. Аналогично, в поле Высота вы можете изменить высоту записи.

  4. В группе Макет столбца можно установить переключатель в одно из следующих значений:

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

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

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

  2. Для самоконтроля откройте отчет в режиме предварительного просмотра.

Не забывайте, что каждый из разделов отчета можно начинать в новом столбце (строке). Подробности этих настроек описаны в разделе "Установка начала сек­ции в начале строки или столбца" главы 14.

На рис. 15.2 показан пример двухколоночного отчета, созданного на осно­ве таблицы Клиенты.

Рис. 15.2. Пример двухколоночного отчета

Разрешение проблем, возникающих при создании многоколоночных отчетов

Если колонки не помещаются на листе, программа Access открывает диа­логовое окно, показанное на рис. 15.3. В этом окне программа предлагает ре­шить возникшую проблему одним из следующих способов.

  • Уменьшить число столбцов. К. примеру, если три столбца не вмещаются на страницу, то можно попытаться уменьшить их число до двух.

  • Уменьшить ширину колонки. Нужно уменьшить значение в поле Ширина группы Размер столбца в параметрах страницы (вкладка Столбцы).

  • Уменьшить общую ширину отчета за счет уменьшения ширины его от­дельных элементов и их перекомпоновки. Если при этом в отчет стали выводиться не все данные какого-либо текстового поля, попробуйте увеличить высоту последнего.

Рис. 15.3. Это диалоговое окно открывается программой, когда не­возможно на листе разместить все колонки по ширине

  • Уменьшить поля страницы (во вкладке Поля окна параметров страни­цы). Чем меньшими будут поля, тем больше места программа сможет распределить под столбцы.

Предупреждение

Большинство принтеров не поддерживают границы, меньшие 0,25 дюйма (приблизительно 0,7см).

  • Изменить ориентацию страницы с Портрет на Ландшафт (во вкладке Страница окна параметров страницы).

Использование нескольких колонок для уменьшения общего числа страниц отчета

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

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

В ianpoc, показанный на рис. 15.4, включены поля из таблиц Заказано (строки зака­та), Заказы и Сотрудники — КодКлиента И ДатаРазмещения, — а также созданы два вычисляемых поля: с именем и фамилией сотрудника (поле Сотрудники) и по­пе с суммой заказа (поле ИтогПоСчету).

Рис. 15.4. Этот запрос будет использован в качестве источника данных для создаваемого в практикуме отчета

На рис. 15.5 представлена исходная компоновка отчета, а на рис. 15.6 этот же отчет показан в окне предварительного просмотра. Обратите внимание на счетчик об­щего количества страниц - сейчас он равен 27.

Рис. 15.5. Исходный вид отчета

Рис. 15.6. Отчет из рис. 15.5, открытый в представлении предварительного просмотра

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

  • Реорганизованы поля заголовка отчета (из строки в столбец). Это позволило су­зить необходимое для отчета пространство.

  • Элементы в разделе область данных заужены.

  • Поля нижнего колонтитула группы Сотрудники реорганизованы.

  • Общая ширина отчета уменьшена до трех дюймов.

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

Рис. 15.7. Исправленная версия отчета, использующая более узкую компоновку и сконфигурированная на отображение в два столбца

На рис. 15.8 исправлен! 1ыи отчет n< ч .1 |дн и окне предварительного просмотра. Об­ратите внимание на счетчик общего копичеч гва с фаниц- теперь уже он равен 14.

Рис. 15.8. Отчет с рис. 15.7, открытый в окне предварительного просмотра

Для дальнейшего уменьшения числа страниц можно сделать следующее (рис. 15.9):

  • уменьшить размер шрифта в отдельных полях;

  • дополнительно уменьшить ширину полей;

  • сократить ширину отчета до двух дюймов;

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

Рис. 15.9. Окончательная версия отчета, сконфигурированная в три двухдюймовые колонки

На рис. 15.10 окончательный вариант отчета показан в окне предварительного

просмотра. Обратите внимание на счетчик общего количества страниц - теперь уже он равен 8, а это - меньше трети его исходного объема.

Рис. 15.10. Отчет с рис. 15.9, открытый в окне предварительного просмотра

Создание почтовых наклеек

Посмотрите еще раз на отчет, показанный на рис. 15.10, и обратите внима­ние, насколько текст заголовков отчета и группы напоминает адресные строки почтового конверта. Эта ассоциация не беспочвенна — именно так в про­грамме Access создаются листы почтовых наклеек. В конце концов, что есть лист почтовых наклеек, если не обычные, скомпонованные в табличном фор­мате наборы компонентов адреса, каждый из которых имеет свою высоту и ширину? А что такое многоколоночный отчет? Практически то же самое: набор записей, скомпонованных в таблицу, при этом каждая из записей имеет свою высоту и ширину.

Если нужно распечатать почтовые наклейки из таблицы адресов клиентов, эту таблицу следует использовать в качестве источника данных многоколо­ночного отчета; при этом каждый столбец должен быть сконфигурирован так, чтобы высота и ширина записи в точности соответствовала параметрам на­клейки. Естественно, при этом нужно принять в расчет межстрочный интер­вал и расстояние между колонками, поскольку точное соответствие здесь про­сто необходимо. Исходя из всего вышесказанного, без точной настройки кон­фигурации не обойтись.

Запуск Мастера наклеек

Вместо того чтобы выполнять нас■ ройку с нуля вручную, можно восполь­зоваться предлагаемым программой Мастером наклеек. Этот мастер шаг за шагом проведет вас через весь процесс создания наклеек. Мастер наклеек поддерживает все стандартные форматы этикеток, в результате чего процесс подгонки и принятия решений полностью ложится на программу.

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

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

  2. В списке окна Новый отчет выберите пункт Почтовые наклейки.

  3. В нижней части окна выберите для отчета источник данных (таблицу или запрос).

  4. Щелкните на кнопке ОК. Откроется первое окно Мастера почтовых на­клеек, показанное на рис. 15.11.

Рис. 15.11. В первом окне мастера наклеек устанавливается их размер

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

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

Тип наклеек. Здесь можно выбрать один из следующих вариантов: На листах и Рулонные.

Фильтр по изготовителю. В этом списке перечислены все основные производители конвертов. Если нужного производителя в списке вы

не нашли, выберите пункт Avery, поскольку большинство производи­телей ориентируются на стандарты именно этой фирмы.

    1. Щелкните на кнопке Далее. В следующем окне мастера вам будет пред­ложено настроить параметры шрифта.

    2. Для определения архитектуры шрифта введите информацию в следую­щие поля: Шрифт, Размер, Насыщенность и Цвет текста. В дополне­ние можно определить стилевые особенности, установив флажки в по­лях Курсив и Подчеркивание.

    3. Щелкните на кнопке Далее. Мастер запросит у вас информацию о ком­поновке наклейки.

    4. Создайте наклейку, используя следующие приемы (пример приведен на рис. 15.12).

  • Для добавления поля выделите его имя в списке доступных полей, после чего щелкните на кнопке стрелки (>).

  • Чтобы начать в наклейке новую строку, перейдите к концу текущей строки и нажмите клавишу <Enter>.

  • Для добавления в наклейку текста установите курсор в нужное место и введите текст.

    1. Щелкните на кнопке Далее. В следующем окне мастер предоставит возможность определить порядок сортировки записей.

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

    3. Щелкните на кнопке Далее. Мастер предложит вам изменить имя отчета.

Рис. 15.12. Добавляя поля, символы новой строки и текст, оп­ределите макет наклейки

  1. В текстовом мопс шн мне ими наклейки. В зтом окне им можете также определить дальнейшие действия программы.

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

Этот вариант позволяет открыть отчет в режиме предварительного просмотра.

Изменить макет наклеек. Этот вариант приводит к открытию отчета в представлении конструктора.

  1. Щелкните на кнопке Готово.

На рис. 15.13 показан пример готового отчета.

Рис. 15.13. Отчет готов для печати почтовых наклеек

Создание произвольных наклеек

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

    1. В первом диалоговом окне Мастера наклеек щелкните на кнопке Настройка.

    2. Щелкните на кнопке Создать. Откроется диалоговое окно, показанное на рис. 15.14.

    3. В поле Название введите имя нового формата наклейки.

    4. В группе Система единиц выберите либо британскую, либо метриче­скую.

    5. В группе Тип наклеек выберите один из следующих вариантов: На листах или Рулонные.

    6. В группе Ориентация установите портретную или ландшафтную ориен­тацию листа.

Рис. 15.14. Диалоговое окно Новая наклейка предназначе­но для определения произвольных параметров этикетки

    1. В поле Число по горизонтали введите необходимое количество колонок наклеек.

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

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

Создание отчета слияния

В первой главе в качестве примера была рассмотрена задача использова­ния запроса Access в качестве источника данных мастера слияния (Mail Merge Wizard) программы Microsoft Word. Этот мастер позволяет пошагово создать пакет документов Word на основе данных, возвращаемых запросом.

Особенности создания запроса слияния описаны в практикуме главы 1.

Давайте теперь предположим, что на вашем компьютере не установлен па­кет Word либо вы не хотите проходить длинный путь его мастера слияния. В этом случае идентичный результат можно получить, используя только меха­низмы отчетов программы Access. Весь секрет заключается в грамотном ис­пользовании вычисляемых текстовых полей. В частности, текстовые поля бу­дут использоваться не только для ввода текста формы, но и для полей слия­ния, которые формируются на основе источника данных. Для примера пред­положим, что источник данных содержит поле с именем ОбращатьсяК (контактное лицо), и это поле нужно использовать в письме в качестве при­ветствия. В отчете это можно сделать, включив в Область данных вычисляе­мое текстовое поле следующей конфигурации: = "Уважаемый 11 & [ОбращатьсяК] & ", "

А теперь рассмотрим pt i n.ш,ill пример. Па рис. 15.15 покати запрос, исполь­зующий поля и» габлим 1'• и.ч| м и Поставщики. Выражение для вычисляемой) столбца с названием д< >■ i,n-■. г i сравнивает поля МинимальныйЗапас и НаСкладе (остатки на складе), после чего возвращает значение True, если запасы меньше минимально допустимых, и False — в противном случае. (Чтобы убедиться втом, что мы не дозаказываем продукт, снятый с производства, мы дополнитель­но устанавливаем критерий на ложность поля ПоставкиПрекращены.)

Рис. 15.15. Этот запрос возвращает записи для тех продуктов, которые следует дозаказать; он будет использован в качестве источника данных отчета слияния

Наша цель заключается в том, чтобы распечатать письма соответствующим поставщикам с просьбой оформить заказ на недостающие (отобранные запро­сом) товары. На рис. 15.16 показан готовый отчет слияния, открытый в режи­ме конструктора. Хотелось бы немного его прокомментировать.

  • Верхняя половина секции верхнего колонтитула содержит логотип компании, ее название, адрес и текущую дату.

  • Нижняя половина верхнего колонтитула содержит поля источника дан­ных: имя и должность контактного лица, название компании- поставщика и ее почтовый адрес. Обратите внимание, что поля слияния являются комбинацией свободных текстовых полей с выражениями и полями источника данных. Вычисляемые поля используются в тех мес­тах, где значения полей таблицы нужно каким-то образом скомпоно­вать друг с другом. Например, в следующем выражении между именем и должностью контактного лица вставляется запятая:

=[ОбращатьсяК] & ", " & [Должность]

  • В области данных содержится сам текст письма. Как правило, в текст письма внедряются поля слияния и прочие выражения.

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

На рис. 15.17 показам пример письма, созданного после вывода нашего от чета на печать.

Рис. 15.16. Отчет слияния вставляет в письмо свободные текстовые поля, являющиеся ре­зультатом выражений

Рис. 15.17. Пример письма, созданного на основе отчета, показанного на рис. 15.16

Создание многотабличных отчетов

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

Подробнее о создании многотабличных запросов можно узнать в соответствую­щем разделе главы 3.

Понятие подотчета

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

Рис. 15.18. Отчет, отображающий данные из двух связанных таблиц: Типы и Товары

  • В верхней части отчета отображаются название категории товаров

(элемент Категория), ее описание (элемент Описание) и рисунок (поле Изображение). Данные для этих элементов поступают из табли­цы Типы (категории товаров).

  • В нижней части отчета отображаются записи из таблицы Товары.

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

Этот тип отчетов на самом деле является комбинацией двух отдельных отче­тов. Поля основной таблицы (в нашем примере это — данные таблицы Типы) входят в главный отчет, а поля связанной таблицы (данные таблицы Товары) — в подотчет (его также называют подчиненным отчетом). Связку этих отчетов можно представить как родительский/дочерний или как главный/уточняющий. Подотчеты особенно эффективны для отображения данных таблиц, связанных отношением типа "один ко многим". В приведенном выше примере каждой за­писи из таблицы Типы соответствует множество записей из таблицы Товары. По этой причине подотчет отображается в табличном формате.

Создание отчета и подотчета с помощью мастера

Работа с мастером отчетов подробно описана в главе 12.

В главе 12 "Создание и публикация отчетов" рассказывалось о том, как мож­но использовать Мастер отчетов для пошагового создания простых отчетов. Од­нако с помощью этого инструмента при работе с несколькими таблицами мож­но создавать и комбинации отчет/подотчет. Вот что для этого нужно.

•Ъ При использовании нескольких таблиц или запросов в качестве источников дан­ных между ними должны быть установлены связи. Более подробно эта тема опи­сана в разделе "Установка связей между таблицами" главы 3.

  1. Создайте новый отчет одним из следующих методов.

  • Для предварительного указания таблицы или запроса в окне баз дан­ных выделите нужный объект, после чего выберите в меню команду ВставкаООтчет (или в списке кнопки Новый объект панели инст­рументов выберите пункт Отчет).

  • Во вкладке Отчеты окна баз данных щелкните на кнопке Создать.

    1. В списке окна Новый отчет выделите пункт Мастер отчетов.

    2. Если заранее не определены таблица или запрос, являющиеся источни­ком данных, сделайте это сейчас в нижней части окна.

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

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

нотчет, и mcjiKiilhv ни кнопке стрелки инрано (>). Если цкбуется включить в отчет все ноли, достаточно щелкнуть на кнопке с двумя стрелками (»).

  1. Для добавления п отчет молей другой таблицы или запроса повторите действие 5.

  2. Когда в отчет добавлены все поля источников данных, щелкните на кнопке Далее.

  3. Во втором диалоговом окне мастера (рис. 15.19) выделите таблицу или запрос, содержащий данные, используемые в главном отчете. Щелкни­те на кнопке Далее.

  4. В следующем окне мастера следует задать уровень группировки и по окончанию снова щелкнуть на кнопке Далее.

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

  6. В следующем окне мастер попросит вас выбрать один из способов ком­поновки данных (рис. 15.20). В приведенном примере более светлый текст соответствует полям главного отчета, более темный — полям под­отчета. После выбора шаблона компоновки щелкните на кнопке Далее.

  7. В следующем окне мастера вам предстоит выбрать один из предопреде­ленных в программе шаблонов Автоотчета, после чего щелкнуть на кнопке Далее.

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

Рис. 15.19. В этом диалоговом окне мастера отчетов выбирается таблица, данные которой будут отобра­жаться в главном отчете

Рис. 15.20. В этом окне мастера выбирается способ компоновки полей главного отчета и подотчета

  1. Теперь вы можете определить дальнейшие действия программы. Для того чтобы просмотреть отчет, оставьте переключатель в положении Про­смотреть отчет; если же вам нужно дополнительно поработать с отчетом в окне конструктора, переключитесь в положение Изменить макет отчета.

  2. Щелкните на кнопке Готово. На рис. 15.21 показан пример отчета, соз­данного с помощью мастера.

Рис. 15.21. Пример комбинированного отчета (главный/подотчет), создан­ного с помощью мастера

Создание подотчеы it конструкторе

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

Создание подотчета на основе другой таблицы или запроса

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

Ш

щ 1. Убедитесь, что кнопка Мастера панели элементов находится в на- ^ жатом положении, после чего щелкните на кнопке Подчиненная форма/отчет.

2. Нарисуйте на отчете контуры подотчета. Программа автоматически запустит мастер подотчетов, показанный на рис. 15.22.

Рис. 15.22. Мастер подотчетов позволяет быстро и про­сто добавлять в существующие отчеты подотчеты, ос­нованные на других источниках данных

    1. Установите переключатель в положение Имеющиеся таблицы и запросы и щелкните на кнопке Далее.

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

    3. В следующем окне мастера выберите поля, по которым будут связа­ны главный и подчиненный отчеты. Если таблицы связаны (а ина­че при создании подотчетов и быть не может), программа, как пра­вило, автоматически устанавливает корректные поля связывания. Если этого не произошло, вы можете установить переключатель в положение Самостоятельное определение и вручную выбрать нужные поля. Щелкните на кнопке Далее.

6. В последнем окне мастера введите название подотчета и щелкните на кнопке Готово.

Теперь при необходимости вы можете изменить размеры и положение эле­мента подотчета, а также удалить его название.

Создание подотчета на основе другого отчета

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

Если необходимо, чтобы подотчет основывался на некотором уже сущест­вующем отчете, в мастере подотчетов выполните следующие действия.

1. Создайте и сохраните некоторый отчет (если это еще не сделано).

-j- 2. Убедитесь, что кнопка Мастера панели элементов находится в нажа-

э! том положении, и щелкните на кнопке Подчиненная форма/отчет.

      1. Нарисуйте на форме контуры подотчета. Программа автоматически откроет мастер подотчетов.

      2. Установите переключатель в положение Имеющиеся отчеты и формы и в списке выберите нужную сводную диаграмму. Щелкните на кнопке Далее.

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

      4. Введите название подотчета и щелкните на кнопке Готово.

При необходимости вы можете изменить положение и размеры элемента подотчета.

Создание отчетов сводных диаграмм

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

Об использовании представления сводной диаграммы для форм вы можете уз нать в соответствующем разделе главы 11.

Таким образом, для создания отчета сводной диаграммы следует вначале соз­дать форму сводной диаграммы, а затем внедрить ее в отчет в качестве подотчета.

1. Создайте и сохраните отчет сводной диаграммы, если этого еще не сделано.

Ш

^у 2. Убедитесь, что кнопка Мастера панели инструментов находится в ^ нажатом положении, после чего щелкните на кнопке Подчиненная форма/отчет панели элементов.

        1. Растяните контур подотчета в рабочей области отчета. Программа автоматически откроет первое окно мастера подотчетов.

        2. Установите переключатель в положение Имеющиеся отчеты и формы и в списке выберите нужный отчет. Щелкните на кнопке Далее.

        3. В следующем диалоговом окне мастера выберите поля, по которым будут связаны главный и подчиненный отчеты, после чего щелкни­те на кнопке Далее.

        4. Введите имя подотчета и щелкните на кнопке Готово.

        5. Измените положение и размеры подотчета так, чтобы он стал пол­ностью видимым (рис. 15.23).

Рис. 15.23. Для создания отчета сводной диаграммы нужно создать подот­чет и связать его с существующей формой сводной диаграммы

Что читать дальше

  • Особенности работы с мастером слияния описаны в главе 1.

  • Создание многотабличных запросов подробно описано в соответст­вующем разделе главы 3.

  • Вопросы установки связей между таблицами рассмотрены в соответст­вующем разделе главы 3.

  • Вопросы использования представления сводной диаграммы для форм рассмотрены в соответствующем разделе главы 3.

  • Работа с мастером форм подробно описана в соответствующем разделе главы 12.

  • Основы работы с конструктором отчетов изложены в главе 12.

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

м

MiiilMcrgc, 42 Выражение, 29; 57; 326; 371

Вычисляемый столбец, 67

Q

0 В Е-сетка, 35 Г

Главная кнопочная форма, 303; 378

S Горячие клавиши, 242

SQL, 36; 185 Группа записей, 369

запрос добавления, 198 Группа элементов, 239; 345 широс обновления, 196

запрос объединения, 205 Д

запрос отбора, 187 Диалоговое окно, 304

запрос создания таблицы, 197 Динамический набор данных, 26; 33; 49; 146

запрос удаления, 197 ввод данных, 50

инструкция DELETE, 197 выделение записей, 53

инструкция INSERT, 198 добавление новых записей, 51

инструкция SELECT, 187; 197 копирование записи, 53

добавление вычисляемого столбца, 193 навигация между полями, 50

синтаксис, 195 перемещение между записями, 52

инструкция UPDATE, 196 удаление записи, 53

итоги и группировка, 194 форматирование таблицы, 53 модификатор PERCENT, 189

параметрический запрос, 195 3

предложение FROM, 189 ч

предложение HAVING, 194 запись, 4У

предложение ORDER BY, 189 групировка, 126

предложение WHERE, 189 маркер, эи

ашание внутренних объединений, 190; 191 фильт'а! и я 125

создание объединения по неравенству, 192 филыр.шия,

создание самообъединения, 191 аПр ' ' Л,

' вложение, 103

у вычисляемый столбец, 67

действия, 142; 196

"А' добавление подчиненной таблицы, 116

добавление полей, 101 ^ добавление таблиц, 100

-порядок, 345 добавления, 147; 198

итоги, 130

А конструктор,104

ггоформат, 221 многотабличный, 100

иумснт функции, 71 на уникальные значения, 113

)хигсктура символов, 285 обновления, 142; 196

отбора, 187

g параметрический, 139; 195; 306

создание, 139

'« Данных параметры, 55

,,,С|||||ЯЯ- 36 подзапрос, 130; 198

>слиционная, 88 принятия решений, 132

сводный, 122 " создание, 121

ПЛЫвающее окно, 304 создание, 34

>ричный ключ, 92 создания таблицы, 146; 197 удаления, 145; 197 создание, 190

Защита данных формы, 227 левое внешнее, 97; 105

линия объединения, 96 И по неравенству, 97; 192

Идентификатор, 57; 59 создание, 110; 192

правое внешнее, 97; 105 редактирование связи, 99 самообъединение, 97 Константа, 57; 58 создание, 109; 191

даты и времени, 58 создание, 98

простая, 59 в конструкторе, 104

текстовая, 58 удаление,100

числовая, 58 Операнд, 57; 58

Конструктор, 35 идентификатор, 59

Критерий, 26; 29; 33; 57 константа, 58

ВВ°Д. 32 функция, 59

составной, 63 Оператор, 57; 59

^ (и). 63 Between...And, 62

Or (Или), 64 In 63

Is Null, 63

M Like, 62

Макрос, 380 арифметический, 61

действия, 382 логический, 63; 65

создание, 380 приоритет операций, 66

сопоставление командной кнопке, 384 сравнения, 60

сопоставление событию, 384 Отношения, 95

Маска ввода, 253 Отчет, 317

константа, 255 Автоотчет, 317

метка данных, 254 мастер автоотчетов, 319

модификатор, 255 Автоформат, 332

создание, 254 верхний колонтитул, 325

Мастер, 45 вставка разрыва страницы, 385

автоотчетов, 319 главный, 405

фуппы переключателей, 261 группировка данных, 321

запросов поиска записей, не имеющих добавление даты и времени, 330

подчиненных, 48 добавление надписей, 327

запросов поиска повторяющихся добавление полей, 327

записей, 47 заголовок, 324

командных кнопок, 301 компоновка

комбинированных списков, 265 ленточная, 319; 390

масок ввода, 253 полоса, 324

наклеек, 398 слой,324

отчетов, 320; 405 табличная, 320; 390

перекрестных запросов, 46 конструктор, 323

сводных таблиц, 150 мастеР наклеек, 398

слияния, 401 мастер, 320

создания форм, 212; 213; 297 многоколоночный, 390

списков 265 многотабличный, 404

нижний колонтитул, 325 номера страниц, 329 область данных, 325

Навигация, 50 одноколоночный, 390

организация элементов, 357 параметры,333

Объединение, 95 группировки, 369

внешнее, 96 сортировки, 368

создание, 105; 191 страницы, 391

внутреннее, 96 подотчет, 405

с

создание в конструкторе, <1(Ж Событие 3X4

создание в мастере. 405 Согласованностьданных, 95

подчиненный, 405 Сортировка, 24

предварительный просмотр, 331 Схема данныХ) 97 примечание, 325

публикация, 345 гр в Word или Excel, 347

в электронном виде, 346 Таблица

на бумаге, 346 дочерняя, 93

разрешение проблем, 392 подчиненная, 115

разрывы страниц, 359 реляционная, 94

сводной диаграммы, 409 родительская, 93

слияния, 401 сводная, 149

слой, 330 автовычисления, 158

фоновый рисунок, 335 группировка полей, 178

форматирование текста, 360 изменение порядка полей, 181

форматирование фона, 334 сведение, 180

экспорт в другой формат, 347 создание, 153; 163; 164

удаление поля, 162

Л фильтрация, 174; 179

создание объединения, 98

Панель инструментов Таблица символов, 288

форматирование, 286; 360

Создание и использование форм 1

В ЭТОЙ ГЛАВЕ 1

|И< пользование инструмента «шгоформы 3

Создание простых форм с помощью мастера 7

Навигация в форме 9

Создание формы в конструкторе 10

Что читать дальше 21

.Работа с элементами форм 21

Манипуляции с элементами форм 21

Добавление в форму надписей 33

Г" 33

Добавление в форму текстовых полей 35

Что читать дальше 39

Предотвращение ошибок за счет проверки данных 42

Использование элементов управления, ограничивающих выбор вариантов данных 48

Ввод данных с помощью элементов ActiveX 60

Что читать дальше 64

Особенности создания деловых форм 65

.Использование форм на производстве 66

Десять советов относительно создания деловых форм 67

.Создание 84

.Ill 102

Создание и настройка отчетов 102

оСоздание и публикация отчетов 104

В ЭТОЙ ГЛАВЕ 104

ЯОсобенности создания деловь отчетов 130

В ЭТОЙ ГЛАВЕ 130

.Создание 156

расширенных 156

отчетов 156

14 156

В ЭТОЙ ГЛАВЕ 156

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

В ЭТОЙ ГЛАВЕ 175

Настройка отчета на размещение начала секции в начале строки или столбца описана в соответствующем разделе главы 14.Предметный указатель 196

данных, 150; 153 п° выделенному, 26

имя поля, 49 п0 форме, 28

категорий, 311 применение, 32

логическое, 258 расширенный, 24

описание поля, 50 создание, 31

параметры, 38 Форма, 209

серий, 311 Автоформа, 211

столбцов,152 верхний колонтитул, 223

строк, 150; 152 всплывающая, 305

текстовое, 244 всплывающее окно

фильтра, 152 создание, 305

Последовательность перехода, 240 вставка надписи, 241

Построитель выражений, 85 вставка текстового поля, 243

Предикат, 188 вставка элементов, 230

ALL, 188' 202 выделение элементов, 231

Any, 202; 204 выравнивание элементов, 236

DISTINCT, 188 группировка элементов, 239

D1STINCTROW, 188 добавление элемента, 219