Глава 8
Завершив выбор и фильтрацию таблиц, нажмите кнопку
OK
, чтобы приступить
к импорту таблиц. На рис. 8.29 показано последнее окно мастера с результатами
импорта таблиц.
Рис. 8.29.
Окно мастера с результатами импорта таблиц базы данных "Поставка товаров"
Закройте окно. Выполните проверку, если необходимо, добавьте связи между таб-
лицами, вычисляемые элементы, а затем с помощью соответствующей команды
создайте сводную таблицу. Сводная таблица создается только на пустом новом
листе и не может создаваться на уже имеющемся листе со сводной таблицей
(рис. 8.30).
Для анализа данных созданной модели перейдите к листу книги со сводной таб-
лицей.
Рис. 8.30.
Сообщение при создании сводной таблицы
Оперативный анализ данных реляционной базы Access
361
О
БРАТИТЕ ВНИМАНИЕ
Надстройка PowerPivot 2013 обеспечивает включение в модель данных таблиц из
многих источников, а также отбор только нужных столбцов и строк в каждой из них.
В PowerPivot в любой момент из любого внешнего источника можно добавить новые
таблицы, которые включаются в модель, и нужно лишь установить их связи с другими
таблицами.
Задание 8.2. Создание отчета сводной таблицы на модели данных
На основе модели данных, включающей все таблицы базы данных Access "Постав-
ка товаров" (см. рис. 8.25 и 8.26), показать возможность анализа различных фактов
на одной сводной таблице при использовании разных таблиц модели. Последова-
тельно создайте макеты для анализа в различных разрезах заказов и отгрузок това-
ра покупателям. Обеспечьте просмотр как детальных, так и агрегированных данных
по различным параметрам.
Создайте макет:
для подсчета общего количества каждого товара, отгруженного с каждого скла-
да, и со всех складов в целом;
для анализа отгрузок товара покупателям в количественном и стоимостном
выражении в заданный период времени;
для анализа заказов товара покупателями в количественном и стоимостном
выражении в заданный период времени;
для сравнительного анализа заказов и отгрузок товара покупателям в количест-
венном и стоимостном выражении в заданный период времени.
Контрольные вопросы
1.
Можно ли, используя сводную таблицу, изменять данные в ее источнике — объ-
екте базы данных?
2.
Какие объекты базы данных Access могут быть представлены в качестве источ-
ника данных сводной таблицы и диаграммы?
3.
Назовите области сводной таблицы, в которые могут быть размещены поля ис-
точника данных?
4.
Как открыть список полей, доступных для использования в сводной таблице?
5.
Можно ли использовать в сводной таблице Excel 2013 несколько таблиц базы
данных?
6.
Необходимо ли устанавливать связи между таблицами источника данных свод-
ной таблицы?
7.
В каких отношениях могут находиться таблицы источника данных сводной таб-
лицы?
8.
При анализе данных в сводных таблицах данные выбираются непосредственно
из базы данных?
362
Глава 8
9.
Какая надстройка Excel 2013 позволяет представлять модель данных сводной
таблицы в виде схемы?
10.
Допустимы ли связи таблиц в модели данных сводной таблицы по нескольким
полям?
11.
Возможно ли использование нескольких полей источника в одной области
сводной таблицы?
12.
Отразятся ли изменения в данных источника на ранее созданной сводной таб-
лице или диаграмме?
Ответы
1.
Нет.
2.
Таблицы и запросы.
3.
Область строк, столбцов, фильтра и значений.
4.
Командой
Список полей
(Field List) в группе
Показать или скрыть
(Show/Hide) на вкладке ленты
Работа со сводными таблицами | Конструктор
(PivotTable Tools | Design).
5.
Да.
6.
Да.
7.
1 : 1 и 1 : М.
8.
Нет. При определении источника данных таблицы импортируются в книгу
Excel.
9.
Надстройка PowerPivot для Excel 2013, доступная в Microsoft Office Professional
Plus.
10.
Нет.
11.
Да.
12.
Только при обновлении источника данных.
ГЛ А В А
9
Разработка приложений
с использованием макросов
Как показано в предыдущих главах книги, база данных Access — это не только на-
бор таблиц, хранящих взаимосвязанные данные, но и набор средств для работы
с данными, таких как запросы, формы, отчеты. При разработке приложения с по-
мощью Access эти объекты составляют его основу, а формы и отчеты называются
объектами приложения
. При этом формы составляют основу интерфейса, обеспе-
чивая интерактивный ввод, просмотр и изменение данных. Может быть создана
форма для управления приложением, представляющая все его подзадачи и обеспе-
чивающая пользователя простым доступом ко всем его функциям. Отчеты обеспе-
чивают обобщенное представление результатов обработки данных и их вывод на
экран и печать.
Для автоматизации выполнения задач, связи различных объектов, создания, редак-
тирования и автоматизации более сложной логики приложений необходимо ис-
пользовать средства программирования. Объектно-ориентированный язык про-
граммирования VBA (Visual Basic for Applications), являясь общим средством про-
граммирования для всего семейства Microsoft Office, позволяет создавать в среде
Access целостные графические диалоговые приложения пользователя с большими
возможностями по управлению и контролю за их выполнением, решать и автомати-
зировать выполнение самых сложных задач.
Простейшим языком программирования, позволяющим добавлять функциональные
возможности и автоматизировать выполнение задач приложения, является язык
макросов. Использование макросов для автоматизации управления реакцией при-
ложения на действия пользователя в формах или отчетах позволяет создавать пол-
ноценные интерактивные приложения без написания кода на VBA.
Макросы обеспечивают выполнение части команд, доступных в VBA, а создание
макроса для пользователей оказывается проще, нежели написание кода VBA. Кон-
структор макросов снабжен ясным и понятным интерфейсом, поддерживающим
функции IntelliSense, и позволяет не только избежать написания кода VBA, но и
упростить процесс добавления функциональных возможностей в приложение базы
данных.
364
Глава 9
В веб-приложениях Access, базирующихся на базах данных, опубликованных
в SharePoint, для программирования используются только макросы, т. к. код VBA
несовместим со средствами веб-публикации.
Появившиеся в Access 2010 макросы данных обеспечивают добавление логики
к данным в исходных таблицах. Для связи макросов данных с действиями по до-
бавлению, обновлению, удалению записей в таблице достаточно при открытой таб-
лице на вкладке
Работа с таблицами | Таблица
(Table Tools | Table) щелкнуть на
нужной кнопке (что будет показано далее). Сосредоточение с помощью макросов
данных бизнес-логики в таблицах позволяет распространить автоматизацию за пре-
делы клиентского приложения Access на базы данных веб-приложений Access и
другие приложения, обновляющие таблицы Access.
Макрос
(от слова "макрокоманда") — программа, состоящая из последовательности
макрокоманд.
Макрокоманда
— это инструкция, ориентированная на выполнение
определенного действия над объектами Access и их элементами.
Например, макрокомандой можно открыть форму, отчет, напечатать отчет, запус-
тить на выполнение запрос, применить фильтр, присвоить значение, создать свое
меню, организовать выполнение различных ветвей алгоритма в зависимости от ус-
ловий. Макрокоманда
ЗапускКомандыМеню
(RunMenuCommand) позволяет вы-
полнить любые встроенные команды Access, которые выводятся на вкладках ленты
или в контекстных меню и соответствуют режиму выполнения макрокоманды.
Имеющийся в Access набор макрокоманд (более 50) реализует практически любые
действия, которые необходимы для решения задачи.
Макрос, наряду с другими объектами, может быть представлен как отдельный объ-
ект (изолированный макрос), который отображается в области навигации в группе
Макросы
(Macros). Кроме того, макрос, связанный с любым событием в форме,
отчете или элементе управления, может быть внедрен в форму или отчет (внедрен-
ный макрос). При этом он не отображается как объект в группе
Макросы
(Macros),
а становится компонентом формы или отчета.
Макросы могут запускаться на выполнение прямо из области навигации. Возможно
решение задач с помощью ряда взаимосвязанных макросов, первый из которых бу-
дет запускаться на выполнение из области навигации. Пользователь запускает
главный макрос на выполнение и далее все управление выполнением задачи осу-
ществляется изнутри макроса. Макрос сам открывает нужные объекты, выбирает и
обрабатывает данные, вызывает другие макросы, следуя алгоритму, приводящему
к решению задачи. При необходимости из макроса может быть инициирован диа-
лог с пользователем. Для перехода по различным ветвям макроса используется
блок управления
Если
(
If
).
Изолированный макрос может выполняться в ответ на многочисленные виды собы-
тий, возникающих в формах, отчетах и их элементах управления. Внедренный мак-
рос всегда связывается с событием и сохраняется в форме или отчете. События на-
ступают, прежде всего, при выполнении определенных действий пользователя
с объектами. Примерами событий являются: изменение данных в поле, открытие
или закрытие формы или отчета, нажатие кнопки в форме и просто передача фокуса
Разработка приложений с использованием макросов
365
от одного поля к другому. Связь макросов с событиями позволяет автоматизиро-
вать приложения, используя макросы для открытия форм, печати отчетов, выпол-
нения последовательности запросов, для выполнения действий, зависящих от зна-
чений некоторого поля в базе данных, для вывода пользовательских сообщений или
отключения предупреждающих сообщений во время выполнения запросов дейст-
вия и многого другого. Сохранение внедренных макросов вместе с формами и от-
четами упрощает управление объектами приложения.
Программы на языке макросов реализуют алгоритмы решения отдельных задач
приложения. Механизм связывания макросов с событиями в объектах позволяет
объединить разрозненные задачи приложения в единый комплекс, управляемый
пользователем. Пользователь, выполняя различные действия, прежде всего в фор-
мах, инициирует выполнение макросов, автоматизирующих решение связанных
с действиями пользователя задач.
Конструирование макроса
Создание макросов осуществляется в диалоговом режиме и сводится к записи в ок-
не конструктора макроса последовательности макрокоманд, для которых задаются
аргументы. Каждому макросу присваивается имя. При выполнении макроса макро-
команды выполняются последовательно в порядке их расположения. При этом ис-
пользуются объекты или данные, указанные в аргументах макрокоманд. Для изме-
нения порядка выполнения макрокоманд может быть использован логический блок
управления
Если
(
If
).
Выполнение макросов инициируется простой операцией и может сводиться к его
открытию, как это делается и для других объектов базы данных. Помимо этого,
Access предоставляет возможность автоматически инициировать выполнение мак-
роса при наступлении некоторого события. Для связи макроса с событием доста-
точно в окне свойств объекта или его элемента управления внести в строку этого
события имя макроса или создать внедренный макрос. События, с которыми можно
связать макрос, представлены в свойствах форм и отчетов и их элементов управ-
ления.
Создание изолированного макроса, являющегося отдельным объектом базы дан-
ных, начинается с выполнения команды
Макрос
(Macros) на вкладке ленты
Созда-
ние
(Create)
в группе
Макросы и код
(Macros & Code). В результате выполнения
команды открывается окно макроса и каталог макрокоманд (рис. 9.1).
Для создания внедренного макроса выберите в области навигации форму или отчет
и выполните в его контекстном меню команду
Конструктор
(Design) или
Режим
макета
(Layout View). Далее откройте окно свойств и выберите элемент управле-
ния, раздел или форму (отчет) целиком, на вкладке
События
(Event) выберите со-
бытие, в которое нужно встроить макрос, затем нажмите кнопку построителя
.
В диалоговом окне
Построитель
(Choose Builder) выделите пункт
Макросы
(Macro Builder) и затем нажмите кнопку
OK
. В результате откроется окно макроса,
такое же, как при создании изолированного макроса.
366
Do'stlaringiz bilan baham: |