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

 

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

Макрос, который нужно создать, почти идентичен тому, который мы рассматривали в предыдущем примере.

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

Рис. 14.23. Первый отчет (TotalsByCustomer) (общая стоимость заказов клиента) отображает всех клиентов и общую стоимость заказов для каждого из них. Щелкните кнопкой мыши одного из клиентов, и программа Access запустит вывод более подробного отчета, показанного на рис. 14.24

 

 

Примечание

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

 

 

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

Отформатировать поле ввода легко. Можно выделить любой элемент управления и затем изменить его цвет, шрифт и т. д. с помощью команд на ленте. Но вам даже не нужно выполнять эту работу. У каждого поля есть странное свойство, названное Гиперссылка (Is

 

 

 

Hyperlink), — задайте для него значение Да, и элемент управления Поле превратится в подчеркнутый текст синего цвета, что вам и нужно

Рис. 14.24. Представленный отчет CustomerPurchases отражает привычки выбранного клиента тратить деньги. Выражение построения текстовой строки (="Products   Purchased By  "   &   [FirstName]   &   "   "   &   [LastName]) помещает имя и фамилию текущего клиента в заголовок формы

После того как вы справились с описанной странностью, самое время добавить необходимый макрос. Можно предпринять следующие действия с БД Boutique Fudge (включена в загружаемое из Интернета содержимое примеров для данной главы) для вставки ссылки, открывающей отчет CustomerPurchases (покупки клиента) в отчете TotalsByCustomer (общая стоимость заказов клиента).

1. Откройте отчет, который хотите использовать, в режиме Конструктора.
В данном примере все начинается с формы Totals By Customer.

2. Если на экране не видно Окна свойств, выберите на ленте Инструменты конструктора отчетов | Конструктор > Сервис > Страница свойств (Report Design Tools | Design > Tools > Property Sheet).

3. Решите, какое поле хотите использовать для создания ссылки, и выделите его.

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

Теперь следует создать и присоединить макрос.

4. В Окне свойств перейдите на вкладку События и щелкните кнопкой мыши поле Нажатие кнопки (OnClick). Щелкните мышью кнопку с многоточием (…)

 

На экране появляется диалоговое окно Построитель (Choose Builder) и запрашивает способ создания кода, который будет выполняться, когда ссылку щелкают кнопкой мыши.

5.           Выберите Макросы (Macro Builder) и затем щелкните мышью кнопку ОК.
На экране появится окно редактирования макроса.

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

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

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

В данном примере это CustomerPurchases.

8.    Теперь необходимо задать свойство Условие отбора (Where Condition) для применения фильтра. Он должен отбирать клиентов, соответствующих значению ID в текущей записи.

Нужное вам выражение очень похоже на то, которое использовалось в примере с формами. Необходимо выбрать верное поле в отчете, который открыли (поле CustomerlD в отчете CustomerPurchases), и затем сравнить его с полем, которое вы щелкнули кнопкой мыши (поле ID в отчете TotalsByCustomers). Далее приведено нужное выражение:

[CustomerlD]=[Reports]![TotalsByCustomer]![ID]

Как и в примере с формами, это выражение использует замысловатый синтаксис с восклицательными знаками, чтобы сообщить программе Access о том, как найти отчет TotalsByCustomers.

9.    Под макрокомандой ОткрытьОтчет введите Обновление.

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

10.         Закройте окно макроса и ответьте Да на предложение сохранить изменения.
Вы вернетесь в окно Конструктора отчетов.

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

Теперь можно щелкнуть ссылку кнопкой мыши и углубиться в более подробный отчет.

Вы можете проверить этот пример самостоятельно, воспользовавшись тренировочными БД для данной главы.

 

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100