Краткое содержание 29 Об этих стрелках 30 о сочетаниях клавиш 32 о щелчках кнопкой мыши 33 Примеры 33
Скачать 19.64 Mb.
|
Глава 11 Проектирование сложных отчетов В предыдущей главе вы научились создавать простые отчеты - хорошо отформатированные распечатки, компонующие данные в одну таблицу. Простые отчеты — прекрасная вещь для создания твердой копии, более отшлифованной, чем простая распечатка листа данных. Как уже известно из предыдущей главы, простые отчеты предоставляют возможность детального форматирования, необходимого для выделения важных столбцов и значений, кроме того, в простых отчетах изящно обрабатываются большие текстовые поля без потери пространства на листе и без обрезания данных. Простые отчеты — великолепное средство программы Access, но они статичны, строги и просты. Главное их ограничение — структура отчета. Независимо от того, как вы форматируете или упорядочиваете данные в простом отчете, программа Access всегда представляет их в виде таблицы. В реальной жизни может возникнуть необходимость представления отпечатанных данных в иной форме. Возможно, вам понадобится преобразовать данные в счета клиентов, списки посещаемости класса или почтовые этикетки. Все эти отчеты выполняют одну и ту же задачу — извлекают данные из таблицы и затем организуют их на печатной странице, но ни для одного из них не подойдет стандартный отчет с его простой табличной структурой. В этой главе вы увидите, как создавать разнообразные, более специализированные отчеты, использующие идеи, изложенные в предыдущей главе, и дополненные несколькими новыми приемами. В процессе изучения вы обратитесь к режиму Конструктора, узнаете, как добавлять изображения и контуры, и научитесь устанавливать разрывы страниц в длинных распечатках. Вы также узнаете, как использовать группировку для анализа данных и вычисления промежуточных итогов. Улучшение отчетов в Конструкторе Конструктор — это режим, который освобождает ваши отчеты. Как вы узнали в предыдущей главе, Конструктор обеспечивает иное представление отчета. В отличие от Режима макета в Конструкторе вы не увидите никаких данных отчета. Вместо этого перед вами предстанет проект вашего отчета, сообщающий программе Access о том, как формировать отчет. С помощью этого представления можно делать то, что практически невозможно в любом другом режиме. Рассмотрим простой отчет с перечнем товаров, созданный в предыдущей главе. Переключившись в режим Конструктора, можно увидеть, что делает отчет действующим (рис. 11.1). Для перехода в Конструктор щелкните правой кнопкой мыши заголовок вкладки и выберите режим Конструктор. Р ис. 11.1. Окно Конструктора разделено на пять разделов. Каждый из них сообщает программе Access о том, как конструировать фрагмент отчета. Раздел Область данных — самая важная часть. Когда запускается выполнение отчета (с помощью печати или отображения в Режиме макета), Access повторяет раздел Область данных для каждой строки. Программа заполняет поля в разделе Область данных значениями из соответствующей записи Примечание Странная сетка из линий и точек, которую вы видите в Конструкторе, предназначена для того, чтобы помочь вам выровнять разные части отчета. Как вы увидите, пользователи часто применяют Конструктор для размещения данных в точно заданной позиции, поскольку автоматического выравнивания разных фрагментов отчета не существует. Разделы в режиме конструктора Секрет освоения режима Конструктор — понимание назначения пяти его разделов. Несмотря на то, что некоторые из них можно оставить пустыми, в каждый отчет они включаются практически в неизменном порядке.
С одержимое описанных разделов выглядит совершенно иначе чем то, что вы видели в других режимах, поскольку не отображает реальные данные. Вместо данных разделы содержат заполнители, в которые программа Access может каждый раз вставлять необходимую информацию, когда формируется отчет. Если вы создаете отчет о товарах, Access извлекает мнения из полей ProductCategoryID, ProductName, Price и Description и затем перемещает их в соответствующие поля. Понадобится некоторое время для того, чтобы вы освоили манипулирование данными в режиме Конструктор. Прежде всего, нужно научиться изменять размер каждого раздела. Эта возможность полезна, т. к. в разных отчетах для каждой области отводятся различные по объему пространства. На рис. 11.2 показано, как изменять размер разделов. Рис. 11.2. Для изменения размера раздела переместите указатель мыши к границе, расположенной под разделом, размер которого нужно изменить. Перетащите с помощью мыши границу вниз (для увеличения его размера) или вверх (для сокращения отведенного пространства). Дальше ваша задача — разместить содержимое внутри раздела для того, чтобы заполнить доступное пространство. В данном примере раздел Область данных расширяется Примечание Если вы не хотите использовать раздел, его размер можно свести практически к нулю. Посмотрите на раздел Примечание отчета на рис. 11.1. Он присутствует, но не будет виден, поскольку в этот отчет не включены примечания. Помимо этого можно скрыть разделы колонтитулов. Просто щелкните правой кнопкой мыши отчет и выберите команду Колонтитулы страницы для того, чтобы удалить разделы колонтитулов в отчете. (Щелкните кнопкой мыши эти команды еще раз для того, чтобы снова отобразить эти разделы.) О б элементах управления Конструктор предлагает иное представление вашего отчета. Программа Access отображает все содержимое отчета с помощью элементов управления: графических объектов, содержащих текст, изображения и форматирование. Каждый элемент управления — это отдельный объект. Вы можете изменить его внешний вид или перетащить его вдругое место (иногда может понадобиться сначала вытащить его из табличного макета). На рис. 11.3 показаны элементы управления в отчете, представляющем каталог товаров. На рисунке видны не все элементы, поскольку не осе столбцы попали в поле зрения. Рис. 11.3. В отчете о товарах есть элементы управления для отображения заголовка, номеров страниц, заголовков столбцов и данных. У каждого элемента управления есть тонкая граница черного цвета, которая помогает выделить элемент и изменить его размер в Конструкторе. На распечатке эти границы не видны Примечание Небольшая странность на рис. 11.3 может удивить вас. На рисунке есть несколько полей ввода, которые выглядят, скорее, как подписи. Подобное отображение объясняется содержимым этих элементов управления. Как вы узнаете чуть позже в этой главе, в отчетах элемент управления Подпись применяется для неизменного текста, а элемент управления Поле — для переменного содержимого (основанного на текущей дате, текущей записи, текущей странице и т. д.). Для того чтобы чувствовать себя свободнее в Конструкторе, поэкспериментируйте с простым отчетом. (Если у вас под рукой нет отчета, можно загрузить из Интернета БД Boutique Fudge с примерами к данной главе; см. Web-страницу "Missing CD" на сайте www.missingmanuals.com.) Далее перечислены некоторые задания, которые полезно проделать самостоятельно.
Когда вы завершите изменения, щелкните правой кнопкой мыши заголовок вкладки и выберите другой режим (например, Представление отчета, Режим макета или Предварительный просмотр) для того, чтобы увидеть, как будет выглядеть напечатанный отчет. Когда вы закроете отчет, программа Access предложит сохранить выполненные вами изменения. Вы должны уметь делать в Конструкторе все, что вы делали для настройки отчета в Режиме макета. Конечно, удобнее применять Режим макета для выполнения большинства этих задач. Но как вы увидите в следующем разделе, Конструктор предоставляет больше возможностей для отказа от типичного табличного отчета и организации ваших данных любым понравившимся вам способом. Удаление полей из макета В простом отчете программа Access группирует все поля в нечто, именуемое макетом. На самом деле макет — это контейнер, который позволяет легко работать с группами полей. Эта новинка появилась в Access 2007; она предоставляет несомненные удобства, с которыми вы познакомились в главе 10:
Без макета вы не смогли бы перемещать столбцы так быстро. Каждый раз, когда нужно было внести изменение в один столбец, пришлось бы кропотливо переносить все остальные столбцы. В отчете с несколькими десятками полей этот процесс доставил бы множество хлопот. Несмотря на то, что макеты — это маленькие чудесные удобства, они становятся смирительной рубашкой, если вы хотите организовать данные иначе. Допустим, вы хотите взять отчет с каталогом товаров и сделать его похожим не на инвентарную опись, а на розничное издание, показанное на рис. 11.4. С помощью макета это сделать не удастся, поскольку поля всегда заключены в жесткую табличную структуру. Такого результата можно добиться, только если вытащить поля из табличного макета и затем скомпоновать их вручную. Рис. 11. 4. В этой версии отчета, содержащего каталог товаров, не используется табличный макет — все элементы управления "плавающие". Программа Access по-прежнему создает отчет так же, как и в случае применения табличного макета — она выводит раздел Область данных для каждой строки. Единственное отличие— способ компоновки данных в разделе Область данных Примечание Не путайте макеты и Режим макета. Макет — это контейнер, компонующий набор элементов управления. Режим макета — это способ отображения вашего отчета и изменения различных его параметров. Вы можете применять Режим макета, даже если не используете макетные контейнеры (layout containers). Далее приведены действия, необходимые для преобразования основанного на табличном макете каталога товаров в свободную от табличной структуры версию, показанную на рис. 11.4. 1. Перейдите в Режим макета (щелкните правой кнопкой мыши заголовок вкладки и выберите команду Режим макета). Вы можете удалить поля в Конструкторе, но результаты будут не столь удачны. Когда поле удаляется в Режиме макета, программа Access автоматически убирает его в сторону и отводит ему немного собственного пространства. Когда же поле удаляется в Конструкторе, программа Access оставляет его на прежнем месте. Поскольку за полем все еще стоит табличный макет, в результате вы получаете груду элементов управления, лежащих друг на друге, что очень затрудняет их компоновку. 2. Найдите поле, которое хотите удалить из макета. Щелкните правой кнопкой мыши заголовок столбца и выберите Макет → Удалить (Layout → Remove). Повторите этот пункт для удаления всех полей, которые хотите реорганизовать. Решите, хотите ли вы поместить одни поля в макет, а другие извлечь из макета, или же удалить все поля из табличного макета (как показано на рис. 11.4). Для одновременного удаления нескольких полей держите нажатой клавишу 3. Теперь перед вами груда полей в вашем отчете. Щелкните правой кнопкой мыши заголовок вкладки и перейдите в Конструктор. Можно размещать поля и в Режиме макета, но большинство пользователей находят это сложным, поскольку вРежиме макета одновременно отображается несколько записей. Возможно, их будет легче разместить в Конструкторе, применяя шаблоны разделов. 4. Увеличьте раздел Область данных, перетащив с помощью мыши его нижнюю границу (как показано на рис. 11.2). В простом отчете вам требуется ровно одна строка для размещения записи. Но когда выполняется пользовательская компоновка, почти всегда требуется больше пространства. 5. Перетащите мышью элемент Поле для каждого поля записи в нужное место Области данных и затем задайте ему соответствующий размер. Возможно, потребуется некоторая перекомпоновка, прежде чем вы разместите все поля в нужных местах. Поскольку данные теперь не в табличном макете, программа Access не убирает их автоматически с дороги. Вам придется все располагать вручную и следить за тем, чтобы поля не перекрывались. 6. В разделе Верхний колонтитул выберите заголовок столбца для одного из полей раздела Область данных. Либо нажмите клавишу Нет смысла помещать заголовок столбца в верхнюю часть страницы, если поле больше не является частью таблицы. Если данные говорят сами за себя, заголовок им и не требуется. Тем не менее вы можете перетащить с помощью мыши заголовок столбца в Область данных и поместить его рядом с соответствующими данными так, чтобы он служил заголовком для них. Отчет на рис. 11.4 содержит заголовки для полей UnitsInStock (единиц в запасе) и UnitsOnOrder (единиц в заказах). 7. Если вы еще не сделали этого, выделите все поля и задайте для них нужное форматирование. В Конструкторе можно форматировать данные во многом так же, как и Режиме макета. Просто выделите поле, а затем используйте группу ленты Инструменты конструктора отчетов | Конструктор → Шрифт. Держите нажатой клавишу Когда закончите, перейдите в Режим макета или в Представление отчета для просмотра внесенных изменений. На рис. 11.5 показана окончательная компоновка переделанного отчета с каталогом товаров, приведенного на рис. 11.4. Рис. 11.5. После удаления полей из табличного макета их можно размещать как угодно — даже перекрывать один элемент управления другим для более сжатого вывода Добавление дополнительных элементов управления В предыдущем примере вы использовали полученные знания для освобождения полей вашего отчета. Но Поля со значениями полей таблиц — не единственный тип элементов управления, которые можно использовать. Отчеты Access также поддерживают Подписи, Рисунки, Кнопки и другие графические элементы, способные оживить самый унылый отчет. Вы можете вставлять дополнительные элементы управления по следующим причинам:
Добавить дополнительные элементы управления в отчет очень легко. Просто найдите нужную кнопку на ленте. Когда ваш отчет отображается в режиме Конструктор, комплексное обслуживание можно найти в группе ленты Инструменты конструктора отчетов | Конструктор → Элементы управления (Report Design Tools | Design → Controls), показанной на рис. 11.6. |