![]() КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Примечание. Отчеты проектируются для вывода на печатающие устройстваОтчеты проектируются для вывода на печатающие устройства. Поэтому большие серые кнопки выглядят несколько неуместно. Другое решение — ссылки — как показано в данном примере, гораздо более распространено, поскольку отображает данные, которые нужно распечатать, и в то же время добавляет интерактивность.
Для создания такого перехода необходимо начать с создания поля ввода, которое выглядит как гиперссылка. (Настоящий элемент управления Гиперссылкаиспользовать нельзя, поскольку он отображает только фиксированный, неменяющийся текст. Вместо этого нужен способ отображения содержимого поля как ссылки — в данном примере код клиента.) Затем можно создать макрос, который запускается при щелчке кнопкой мыши поля для перехода к новому отчету. Задача этого макроса — открыть подробный отчет, который вам нужен, и затем применить фильтр для отображения только связанных записей. Отформатировать поле ввода легко. Можно выделить любой элемент управления и затем изменить его цвет, шрифт и т. д. с помощью команд на ленте. Но вам даже не нужно выполнять эту работу. У каждого поля есть странное свойство, названное Гиперссылка(Is
Hyperlink), — задайте для него значение Да, и элемент управления Полепревратится в подчеркнутый текст синего цвета, что вам и нужно Рис. 14.24. Представленный отчет CustomerPurchasesотражает привычки выбранного клиента тратить деньги. Выражение построения текстовой строки (="Products Purchased By " & [FirstName] & " " & [LastName]) помещает имя и фамилию текущего клиента в заголовок формы После того как вы справились с описанной странностью, самое время добавить необходимый макрос. Можно предпринять следующие действия с БД Boutique Fudge (включена в загружаемое из Интернета содержимое примеров для данной главы) для вставки ссылки, открывающей отчет CustomerPurchases(покупки клиента) в отчете TotalsByCustomer(общая стоимость заказов клиента). 1. Откройте отчет, который хотите использовать, в режиме Конструктора. 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. Перейдите в режим Представление отчетаи опробуйте ссылку. Теперь можно щелкнуть ссылку кнопкой мыши и углубиться в более подробный отчет. Вы можете проверить этот пример самостоятельно, воспользовавшись тренировочными БД для данной главы.
|