Корректировка самых широкоиспользуемых свойств
Если Окно свойстввсе еще приводит вас в замешательство, выполните следующие действия. Они проведут вас через весь процесс внесения изменений.
1. Выделите в рабочей области отчета элемент управления. Его свойства появятся в Окне свойств.
1.Щелкните кнопкой мыши вкладку Макети затем прокрутите список вниз до тех пор,
пока не найдете параметр Цвет фона(Back Color).
Параметр Цвет фонаопределяет цвет отображения фона, расположенного за текстом в элементе управления.
2. Щелкните кнопкой мыши поле со значением параметра Цвет фона.В поле появится кнопка (...) с многоточием. Щелкните ее мышью. На экран будет выведено окно выбора цвета.
В поле Цвет фонаотображается числовой код, обозначающий цвет. До тех пор пока вы не запомните сотни тысяч замысловатых кодов цветов, вам покажется более удобным выбор цвета в диалоговом окне указателя цвета.
3. Выберите цвет.
Новый цвет появится немедленно вместе с числовым кодом, обозначающим его.
Этот метод можно применить для задания фона раздела в отчете. Из раскрывающегося списка в Окне свойствпросто выберите раздел, например ЗаголовокОтчета(ReportHeader) или ОбластьДанных(Detail), и затем выполните описанные действия.
Подсказка
Если вы изменяете фоновый цвет раздела отчета, не забудьте изменить цвет фона у всех элементов управления в этой части отчета или же около них будут отображаться белые поля. Можно сразу выделить все элементы управления, нуждающиеся в корректировке, заключив их с помощью мыши в рамку выделения или с нажатой клавишей <Shift> поочередно щелкнув кнопкой мыши каждый из них. Затем следует перейти в Окно свойствдля внесения ваших изменений.
В данном примере проще было бы изменить цвет фона с помощью ленты. Но в Окне свойствможно изменить множество параметров, не имеющих эквивалентов на ленте. В табл. 11.1 приведено несколько полезных примеров свойств, все они отображаются на вкладке Макет.
Таблица 11.1. Полезные свойства элементов управления (на вкладке Макет)
Выбранный элемент | Свойство | Описание |
Любой элемент управления, отображающий текст | Выравнивание текста(Text Align) | Обычно выравнивание зависит от типа выводимых данных. Например, программа Access выравнивает по правому краю числа и даты. Если вы хотите сравнивать длинный список чисел, такой порядок имеет смысл. Если же вы хотите соединить ваши числа с фрагментами текстовых данных, можно выбрать другой вариант выравнивания, например по левому краю или по центру |
Поле (Text box) | Формат поля (Format) | Как правило, Access применяет числовой формат, который определяется типом данных, и нет нужды беспокоиться о выборе этого параметра. Но если применяется вычисляемое выражение (см. разд. "Вычисляемые поля" главы 7), Access выводит результат в Основном числовом формате, даже если вам нужны два знака в дробной части и символ валюты. Для исправления формата выберите тот, который вам нужен (например, Денежный). В разд. "Числовой формат" главы 2 приведены другие возможные варианты |
Поле (Text box) | Расширение (Can Grow) | Если в поле Расширениеустановить значение Да, Access расширит его до размера, вмещающего все содержимое. При создании простого табличного отчета свойство Расширениевключено для всех полей, но в этом нет необходимости в других типах отчетов, которые формируются с помощью Мастера отчетов. Когда свойство не включено, Access обрезает длинное содержимое до размера доступного пространства |
Отчет (Report) | Режим по умолчанию(Default View) | Определяет, в каком режиме открывается отчет, если дважды щелкнуть его кнопкой мыши в области переходов. Обычно он открывается в Режиме отчета |
Таблица 11.1 (окончание)
Выбранный элемент | Свойство | Описание |
Отчет(Report) | Верхний колонтитул(Page Header) и Нижний колонтитул (Page Footer) | Если выбран стандартный вариант Все страницы(All Pages), верхний и нижний колонтитулы выводятся на каждой странице. Вы можете убрать верхний или нижний колонтитулы с тех страниц, которые содержат заголовок отчета и примечание отчета |
Верхний Колонтитул (PageHeaderSection), Нижний Колонтитул(PageFooterSection), ЗаголовокОтчета(ReportHeader), ПримечаниеОтчета(ReportFooter) | Режим вывода (Display When) | Обычно эти разделы отображаются на экране и в финальной распечатке. Вы можете включить их либо в экранное представление, либо в распечатку, но не в оба варианта одновременно |
Область Данных (Detail) | Конец страницы (Force New Page) | Стандартное значение этого свойства — Отсутствует (None), и программа Access размещает на каждой странице максимально возможное количество информации, прежде чем перейти на следующую страницу. Вы можете выбрать значение До раздела (Before Section) для того, чтобы каждую запись начинать с новой страницы. Другие значения свойства Конец страницыпредназначены для совместного использования с группировкой |
ОбластьДанных (Detail) | Не разрывать(Keep Together) | Если задано значение Да, Access никогда в распечатке не разделяет Область данныхразрывом страницы. Если на странице недостаточно места для вывода полной записи, Access сразу переходит на следующую страницу и на ней возобновляет печать |
Выражения
Ранее в этой главе вы узнали, как вставлять Подписьи задавать текст в ней. Но если вы посмотрите на элементы управления типичного отчета, то быстро заметите, что не все из них используют обычный текст. Обратите внимание на дату или номера страниц (которые появляются в правом верхнем углу простого отчета). Оба эти типа данных отображаются в обычных элементах управления, Полях,но текст выглядит иначе. Он начинается со знака равенства (=), что свидетельствует о наличии выражения.
Выражения позволяют отображать динамические значения. Никто не захочет вводить постоянную дату в отчет, поскольку будет вынужден корректировать ее каждый раз, когда нужно получить распечатку. Вместо этого применяют выражение, такое как =Date(), заставляющее программу Access считать с часов компьютера текущую дату и вывести ее на экран.
Выражения — не новость. Вы узнали о них, когда знакомились с запросами в главе 7. Но, возможно, до настоящего момента вы не догадывались, что они также уместны и в отчетах.
Можно вставить в отчет собственные выражения для отображения динамических данных
или выполнения вычислений, базирующихся на других полях. Предположим, что вы хотите улучшить свадебный список, скомбинировав имена и фамилии гостей в компактный однострочный вывод. Как рассказывалось в разд. "Выражения с текстовыми значениями" главы 7, символ & — то, что требуется для соединения фрагментов текста. Далее приведено нужное вам выражение:
=FirstName & " " & LastName
Подсказка
Вернитесь к главе 7, чтобы просмотреть информацию о выражениях, разных типах вычислений, которые можно выполнять, и различных функциях, которые можно в них применять.
Ввести выражение в Подписьнельзя, поскольку этот элемент управления может содержать только текстовую константу. Вместо него вам нужен элемент управления Поле. (Access также применяет элемент Поледля вывода большинства полей БД.)
Рис. 11.17. Вверху: в Конструкторевыражение выглядит как обычное текстовое значение. Внизу: в режиме Предварительный просмотрпрограмма Access выполняет вычисление и отображает результат
После того как вы добавили в рабочую область отчета Поле,для выделения щелкните его кнопкой мыши. Указатель мыши превратится в текстовый курсор. Щелкните элемент кнопкой
мыши еще раз для редактирования текста и затем введите ваше выражение, не забудьте начать со знака равенства (рис. 11.17).
Часто задаваемый вопрос.
Ошибки выражений
Почему выражение отображает #Error в режиме предварительного просмотра?
Как ни странно код #Error означает, что в вашем выражении не все правильно. Программа Access пытается вычислить его, попадает в аварийную ситуацию и выводит вместо результата сообщение об ошибке.
Часто легко увидеть наличие проблемы, если вернуться в Конструктори посмотреть ошибочный элемент управления Поле. Обычно в верхнем левом углу элемента виден зеленый треугольник, сигнализирующий о наличии проблемы. Выделите его, и слева немедленно появится пиктограмма ошибки. Можно поводить указателем мыши поверх пиктограммы, чтобы увидеть описание проблемы, и щелкнуть ее кнопкой мыши для отображения короткого меню возможных способов ее решения, которые можно применить, и вариантов контроля наличия ошибок, способных заставить программу Access игнорировать эту проблему в будущем.
Сообщения об ошибках программы Access известны своей туманностью, поэтому даже когда вы найдете пиктограмму ошибки и получите подробности, реальная проблема может остаться во мраке неизвестности. Для того чтобы вернуть вас на правильную дорогу, предлагаю краткий перечень наиболее распространенных проблем:
• вы забыли начать выражение со знака равенства;
• вы ошиблись,' набирая имя поля, или сослались на поле, которого нет в базовой таблице или запросе;
• вы вставили непарный набор скобок;
• у элемента управления Полето же имя, что и у одного из полей, используемых вами, Если у вас есть выражение =UnitsInStock+UnitsOnOrder и ваш элемент управления Поленазван UnitsInStock,Access приходит в замешательство. Для решения проблемы переименуйте Поле(например в UnitsInStockCalculation)с помощью Окна свойств.(Свойство Имяотображается в верхней части вкладки Все.)
Группировка
Группировка — неоценимое средство для придания смысла большим объемам данных счет упорядочивания их в группах меньшего размера. Затем можно выполнять вычисления в каждой отдельной группе. Рассмотрим список заказов в компании Boutique Fudge. В зависимости от того, как вы сгруппируете данные, можно посмотреть, лучше ли продается шоколадное молоко, чем шоколадное пиво, или сильнее ли клиенты из Нью-Йорка жаждут какао, чем клиенты из Алабамы, и т. д.
Существуют три способа применения группировки для анализа информации в отчете.
■ Применение группировки в запросе. В этом случае в ваш отчет не включаются подробности. Он только отображает вычисленные суммы, средние значения, максимумы или
минимумы. Вам не понадобятся изощренные колдовские приемы создания отчета для решения этой задачи — создайте сводный отчет с группировкой (как описано в разд. "Итоговые данные " главы 7) и затем используйте его для формирования отчета.
■ Применение группировки в отчете. В этом случае можно разделить информацию большого объема на подгруппы. При этом бы можете видеть все данные и применять промежуточные итоги и другие вычисления. Можно также добавить несколько уровней группировки для выявления глубинных тенденций.
■ Применение подчиненных отчетов. Этот метод создает тот же эффект, что и группировка в отчете. Единственное отличие — формирование отчета из двух отдельных частей.
Примечание
Подчиненные отчеты — во многом наследие более ранних версий программы Access. В Access 2007 функциональные возможности группировки настолько улучшены, что в подчиненных отчетах больше нет нужды. В данной книге уделяется внимание наиболее эффективному применению группировки, а подчиненные отчеты пропущены.
Группировка в отчетах
Для создания групп выполните следующие действия.
1. Перейдите в Режим макетаили Конструктор.
2. Выберите поле, которое хотите использовать для сортировки. Обычно следует сортировать таблицу по тому полю, которое планируется применять для группировки.
Если вы хотите группировать по полю ProductCategoryID(идентификатор категории товара), которое формирует отдельную группу товаров для каждой категории, то начать следует с сортировки результатов по полю ProductCategorylD.В этом случае все товары одной группы перечисляются один за другим. (Можно сортировать и но однозначно определяемому полю из связанной таблицы ProductCategories,например, CategoryName.Поскольку у каждой категории товара — свое название, это поле отсортирует товары по группам столь же эффективно.)
Примечание
Если вы создали подстановку, у программы Access хватит сообразительности для использования при сортировке более информативного поля, а не связанного с ним поля. Поле ProductCategoryID использует подстановку, которая выводит на экран название соответствующей категории, а не связанный с ним идентификатор категории, до которого на самом деле никому нет дела. Когда вы щелкните правой кнопкой мыши поле ProductCategoryID и выберите команду сортировки, программа Access применит поле CategoryName для сортировки.
3. Для сортировки данных щелкните правой кнопкой мыши поле, по которому собираетесь сортировать, и выберите команду сортировки (например, Сортировка от А до Я(Sort A to Z) или Сортировка от минимального к максимальному(Sort Smallest to Largest)).
Точное название в меню команды сортировки зависит от типа данных, хранящихся в поле.
4 Щелкните правой кнопкой мыши поле, которое хотите использовать для группировки, и выберите команду Группировка(Group On). Программа Access отсортирует ваши результаты по этому полю изатем сгруппирует их.
На рис. 11.18 и 11.19 показаны два отчета, в которых товары сгруппированы по категориям.
Рис. 11.18.Этот простой табличный отчет отсортирован и сгруппирован по категориям за несколько быстрых щелчков мыши
Подсказка
Когда используется группировка, возможно, нет смысла оставлять заголовки столбцов в разделе макета страницы, т. к. каждый заголовок группы разрывает таблицу. Часто гораздо лучше располагать заголовки столбцов под названием группы так, чтобы они выводились в начале каждой группы (а не в верхней части каждой страницы). На рис. 11.18 применен этот подход (на рис. 11.19 он не нужен, поскольку в отчете вообще не используются заголовки.) К сожалению, для того чтобы применить эту более привлекательную организацию данных, вам придется удалить поля из автоматически создаваемого макета (см. разд. "Удаление полей из макета' ранее в этой главе).
Группировка включает дополнительные разделы в отчет. Если вы группируете с помощью ноля ProductCategoryID,ваш отчет получает новый раздел Заголовок группы 'ProductCategoryID'(ProductCategoryID Header), который программа Access располагает непосредственно над Областью данных(рис. 11.20). Это название группы содержит сведения о группировке — в данном случае, категории товара. ВОбласти данныхнаходятся данные всех записей, включенных в группу.
Примечание
Как вы увидите позже, можно добавлять несколько уровней группировки. В этом случае пса-грамма Access вставляет один заголовок группы для каждого уровня.
Рис. 11.19. Группировка так же хорошо функционирует и в отчетах со сложными нетабличными макетами. Но, возможно, придется потратить немного больше времени на определение начала и конца группы, поэтому подумайте о задании другого цвета фона для разделения категорий (с помощью свойства Цвет фона)и их выделения, как в данном примере. Или же можно использовать элемент управления Линиядля создания разделительной черты в начале каждой категории. На рис, 11.20 показан этот отчет в Конструкторе