ACCESS_2010-ч2
.pdf0
Министерство образования Республики Беларусь УО «Белорусский государственный экономический университет»
Оскерко В.С., Пунчик З.В.
ТЕХНОЛОГИИ РАБОТЫ С БАЗОЙ ДАННЫХ В СУБД ACCESS 2010
Часть 2. Макросы. Язык SQL. Администрирование БД.
Учебное пособие для студентов экономических специальностей
Минск, 2013
1
СОДЕРЖАНИЕ |
|
Тема 2. ТЕХНОЛОГИИ РАБОТЫ С БАЗОЙ ДАННЫХ В СУБД ACCESS |
|
6. КОНСТРУИРОВАНИЕ МАКРОСОВ |
2 |
6.1. Макросы, не связанные с событиями |
5 |
6.2. Макросы, связанные с событиями |
16 |
6.2.1. Внедренные макросы |
16 |
6.2.2. Макросы, связанные с событиями элементов управления в форме |
19 |
6.2.3. Макрос, связанный с событием раздела формы |
26 |
6.2.4. Макросы, связанные с событиями формы |
28 |
6.2.5. Макросы, связанные с событиями раздела отчета |
30 |
6.2.6. Макросы, связанные с событиями отчета |
31 |
Контрольные вопросы |
|
Тема 3. ВВЕДЕНИЕ В ЯЗЫК SQL |
|
1. РАБОТА С БАЗОЙ ДАННЫХ В РЕЖИМЕ SQL |
35 |
1.1. Структура SQL-команды |
36 |
1.2. Создание базы данных |
39 |
1.3. Внесение изменений в базу данных |
44 |
1.4. Выборка данных |
46 |
Контрольные вопросы
Тема 4. СИСТЕМЫ ОБРАБОТКИ МНОГОПОЛЬЗОВАТЕЛЬСКИХ БАЗ ДАННЫХ
1.РАБОТА С МНОГОПОЛЬЗОВАТЕЛЬСКОЙ БАЗОЙ ДАННЫХ В
АРХИТЕКТУРЕ КЛИЕНТ/СЕРВЕР |
51 |
1.1. Структура многопользовательской базы данных ECONOMICS_OF_RB |
51 |
1.2. Использование клиентского приложения Access для формирования запросов
к базе данных на сервере |
57 |
1.2.1. Создание пользовательского источника данных |
57 |
1.2.2. Связь пользователя с таблицами базы данных на сервере |
59 |
1.2.3. Создание запросов к базе данных ECONOMICS_OF_RB |
60 |
1.3. Использование клиентского приложения Query Analyzer для формирования запросов к базе данных на сервере 64
Контрольные вопросы
Тема 5. АДМИНИСТРИРОВАНИЕ БАЗЫ ДАННЫХ
1. АДМИНИСТРИРОВАНИЕ БАЗЫ ДАННЫХ В СУБД ACCESS |
76 |
1.1. Получение сведений о базе данных и ее объектах |
77 |
1.2. Экспорт и импорт объектов базы данных |
80 |
1.3. Преобразование базы данных в другие форматы |
82 |
1.4. Сжатие и восстановление базы данных |
82 |
1.5. Защита базы данных |
83 |
1.5.1. Скрытие объектов базы данных |
83 |
1.5.2. Создание резервной копии базы данных |
84 |
1.5.3. Защита базы данных паролем |
84 |
1.5.4. Создание ACCDE-файла базы данных |
84 |
1.5.5. Разделение базы данных |
85 |
1.6. Изменение параметров запуска базы данных |
86 |
Контрольные вопросы |
|
2
Тема 2. ТЕХНОЛОГИИ РАБОТЫ С БАЗОЙ ДАННЫХ В СУБД ACCESS
6.КОНСТРУИРОВАНИЕ МАКРОСОВ
Вэтом разделе Вы освоите создание макросов
не связанных с событиями связанных с событиями – внедренных и присоединенных
разной структуры – линейных, ветвящихся, групповых, с вложенными макросами
Макрос – это набор из одной или нескольких макрокоманд, каждая из которых выполняет определенное действие.
Макросы выполняют заданные пользователем действия и используются, главным образом, для автоматизации работы с формами и отчетами. Например, макрос позволяет найти и отфильтровать записи,
выводимые в отчете; закрепить за кнопками формы нужные пользователю действия и др. Назначение макросов – автоматизация часто выполняемых операций без написания программ.
В макросах используются макрокоманды следующих категорий (рис.
6.1).
Рис. 6.1. Категории макрокоманд Макросы могут быть разные по структуре. Макрос, в котором
макрокоманды выполняются последовательно, одна за другой, называется
|
3 |
линейным. Макрос, в котором отдельная макрокоманда или |
набор |
макрокоманд выполняются в зависимости от выполнения некоторого условия, называется макросом с условием. Макрос, в котором объединены несколько логически связанных макросов, называется групповым.
Существуют макросы, содержащие вложенные макросы. Вложенный
макрос – это именованный набор макрокоманд, который может быть вызван макрокомандой ЗапускМакроса или ПриОшибке.
Существуют макросы связанные с событиями и не связанные с ними.
Событие – это изменение состояния объекта БД, в момент возникновения которого можно изменить стандартный порядок обработки объекта и определить свою, нестандартную реакцию. В Access только таблицы, формы и отчеты являются объектами, для которых определены события. Например,
для окна формы, отчета определены события Открытие, Закрытие,
Изменение размера и др.
Не связанные с событиями (свободные) макросы сохраняются как отдельные объекты БД и запускаются на выполнение пользователем.
Связанные с событиями макросы делятся на внедренные и присоединенные. Внедренные макросы создаются «внутри» объекта БД. К
внедренным макросам относится макрос данных, который используется для обработки событий таблицы. Присоединенные макросы – это макросы,
связанные с событиями:
элементов управления в форме;
раздела формы;
формы;
раздела отчета;
отчета.
Связанные с событиями макросы запускаются на выполнение при наступлении определенного события.
4
Макросы создаются с помощью Конструктора макросов. При выполнении макроса могут возникать ошибки. Тогда макрос необходимо отладить – найти ошибки и исправить их. В Access существует режим пошаговой отладки, позволяющий локализовать ошибки.
По умолчанию система безопасности в Access отключает некоторые возможности, связанные с автоматическим изменением содержимого БД.
Отдельные макросы, рассматриваемые в данном разделе, будут производить действия, связанные с изменением данных. Поэтому необходимо максимально ослабить требования системы безопасности. С этой целью выполнить следующее:
в открытой базе данных БАНК на вкладке Файл выбрать Параметры;
в открывшемся окне Параметры Access выбрать Центр управления безопасностью и нажать кнопку [Параметры центра безопасностью…];
в окне Центр управления безопасностью выбрать:
Надежные расположения и нажать кнопку [Добавить новое расположение…]. В окне Надежное расположение Microsoft Office
нажать кнопку [Обзор]. В окне Обзор выбрать свою папку и нажать
[Да]. Затем в окне Надежное расположение Microsoft Office нажать
[ОК];
Надстройки и снять все флажки;
Параметры ActiveX, снять флажок Безопасный режим и
переключатель поставить в положение Включить все элементы управления без ограничений и запросов;
Параметры макросов и переключатель поставить в положение
Включить все макросы;
Параметры предотвращения выполнения данных и снять флажок
Включить режим предотвращения выполнения данных;
закрыть БД, а затем открыть ее заново, чтобы установленные параметры вступили в силу.
5
Чтобы при создании макросов в Конструкторе работать с полным списком макрокоманд, включающим небезопасные команды (в текстах макросов они помечаются специальным знаком ),
необходимо включить кнопку [Показать все действия], то есть следить за тем, чтобы она была желтого цвета.
6.1. Макросы, не связанные с событиями
Задание 6.1. Создать макрос, позволяющий автоматически открывать одновременно таблицу КЛИЕНТ для просмотра, форму КЛИЕНТ в режиме добавления записей и запрос ОСТАТКИ для просмотра сумм остатков на счетах клиентов.
Макрос сохранить с именем ОТКРЫТИЕ ОБЪЕКТОВ.
Выполнение задания
На вкладке Создание в группе Макросы и код нажмите кнопку
[Макрос]. Откроется окно Конструктора макроса. В нем сформируйте текст в данном случае линейного макроса, как последовательность макрокоманд,
следующим образом:
раскройте список макрокоманд и выберите макрокоманду ОткрытьТаблицу. В открывшемся окне макрокоманды задайте ее аргументы путем выбора их из раскрывающегося списка после щелчка в строке аргумента, как на рис. 6.2.
Примечани е. Значения аргументов макрокоманд могут быть:
заданы по умолчанию;
выбраны из раскрывающегося списка после щелчка в строке аргумента;
введены с клавиатуры;
сформированы с помощью Построителя выражений.
аналогично сформируйте последующие макрокоманды ОткрытьФорму и
ОткрытьЗапрос;
6
Рис. 6.2. Текст макроса ОТКРЫТИЕ ОБЪЕКТОВ сохраните макрос по команде Файл/Сохранить. В окне Сохранение в
поле "Имя макроса" введите имя ОТКРЫТИЕ ОБЪЕКТОВ и [ОК];
запустите макрос на выполнение из окна Конструктора, нажав на вкладке
Конструктор в группе Сервис кнопку [Выполнить].
Примечание. Макрос можно сохранить и закрыв окно Конструктора макроса, после чего в окне Все объекты Access появляется значок макроса с его именем. Запустить макрос на выполнение из данного окна можно двойным щелчком по нему.
В результате на отдельных вкладках одновременно откроются объекты БД в режимах, указанных в задании.
Если этого не произошло, то отладьте макрос, задав пошаговый режим с помощью кнопки [По шагам] в группе Сервис на вкладке
Конструктор. Затем запустите макрос на выполнение. Появится окно вида, как на рис. 6.3.
7
Рис. 6.3. Окно Пошаговое исполнение макроса
В окне Пошаговое исполнение макроса последовательно нажимайте кнопку [Шаг] и анализируйте предоставляемую информацию о макрокоманде, а также результат ее выполнения на экране. При обнаружении ошибки в макрокоманде прервите пошаговое исполнение макроса нажатием кнопки [Остановить все макросы] и внесите необходимые исправления.
Затем опять запустите макрос на пошаговое выполнение.
Продолжайте отладку до тех пор, пока не будет получен требуемый результат. По завершении отладки выйдите из пошагового режима нажатием кнопки [По шагам].
Кнопка [Продолжить] используется в процессе отладки для прерывания пошагового исполнения макроса и выполнения оставшейся его части.
Для выполнения следующего задания в отчете ОТЧЕТ1 присвоить имена вычисляемым полям, в которые введены выражения:
=Sum([Д])
=Sum([К])
соответственно Депозитных и Карт-счетов. Для данных полей вызвать окно свойств и на вкладке Все в строке Имя ввести указанные имена.
Задание 6.2. Создать макрос, позволяющий в случае превышения в отчете ОТЧЕТ1 количества депозитных счетов над количеством карт-счетов выводить сообщение: В банке депозитных счетов больше, чем карт-счетов;
8
в противном случае – В банке депозитных счетов не больше, чем карт-
счетов.
Макрос сохранить с именем СРАВНЕНИЕ СЧЕТОВ.
Выполнение задания Откройте окно Конструктора макроса и сформируйте текст в данном
случае условного макроса, как на рис. 6.4.
Рис.6.4. Текст макроса СРАВНЕНИЕ СЧЕТОВ
9
В макросе имеются текстовые комментарии к макрокомандам (они отображаются зеленым цветом). В начале их следуют символы «/*», а в конце – символы «*/». Для ввода комментариев выберите из списка макрокоманд команду Примечание и затем в ее окне с позиции курсора наберите текст комментариев без окаймляющих символов (по закрытии окна макрокоманды они автоматически вставляются в текст).
После выбора из списка макрокоманд команды Если автоматически,
ниже ее окна, появится макрокоманда Конец блока "Если". Проверяемое условие в макрокоманде Если сформируйте с помощью Построителя
выражений, который вызовите с помощью кнопки в окне этой макрокоманды. В окне Построителя выполните следующее:
в области "Элементы выражений" откройте папку Банк.ассdb → откройте папку Отчеты → откройте папку Все отчеты → выберите ОТЧЕТ1;
в области "Категории выражений" найдите поле Депозитных и двойным щелчком по нему вставьте в область выражения (вверху окна);
на клавиатуре наберите знак «>»;
аналогично сформируйте оставшуюся часть выражений;
нажмите [ОК].
Примечани е. В процессе формирования текста макроса может возникнуть необходимость:
редактирования макрокоманды. Для этого следует щелкнуть по макрокоманде и в ее окне выполнить нужное редактирование;
удаления макрокоманды. Для этого следует воспользоваться кнопкой
[Удалить] в ее окне;
вставки пропущенной макрокоманды. Для этого следует выбрать из списка макрокоманд данную макрокоманду и вставить ее в нужное место, перемещая ее
окно нажатием кнопки |
|
[Вверх] в этом окне; |
|
перемещения макрокоманды. Для этого следует использовать кнопки ее окна
[Вверх] и [Вниз].