Программирование >>  Проектирование интерфейса пользователя 

1 ... 45 46 47 [ 48 ] 49 50 51 ... 153


Выполнить макрос можно также с помощью команды мен Запуск. Даже если таблица DOCUMENT существует (мы ведь ранее уже создавали ее), сообщение об ошибке вгдано не будет, поскольку макрос просто не выполнится.

Чтобы осуществить пошаговое выполпепие макроса, щелкните на кнопке По шагам (Step) - на панели инструментов Конструктор макросов она расположена справа от кнопки Запуск - либо воспользуйтесь командой меню ЗапускПо шагам Step). Кнопка По шагам действует в режиме переключателя - теперь при каждом щелчке на кнопке Запуск будет выполняться одна строка макроса.

Режим пошагового выполнения особенно полезен именно тогда, когда макрос состоит из нескольких строк. Если при тестировании макроса необходимо проверить и код функции или процедуры VBA, в соответствующих ее строках следует задать точки останова (контрольные точки). На рис. 9.5 показано окно редактора, в котором контрольной точкой отмечена строка TableExists = True.

Чтобы задать точку останова, откройте модуль, содержащий требуемую функцию. Щелкните в пределах нужной строки и нажмите клавишу <F9> (либо щелкните в левой колонке окна напротив строки). Строка будет подсвечена красным цветом и отмечена

специальной пиктограммой. Чтобы снять контрольную точку, повторите операцию.

Редактор Microsoft Visual Basic позволяет открывать полезные дополнительные окна - Watches, Locals и Immediate (мы говорили о них ранее). Но в составе окна

Макрос подобных инструментов нет. После выполнения очередной строки кода макроса отображается диалоговое окно Пошаговое исполнение макроса (рис. 9.6).

Пшшго жлвякеиие макроса

Имя птхи

peeteD6curiicntSQL

Продолжить 1

макр(}кона*шв:

jSenyoajwocuSQI;. -

Аргуиеетм:

.С1те TABLE DOCUMENr (РОСиМВЛЗД ШТО-Ют&Щ]

Рис. 9.6. После выполнения строки кода макроса открывается диалоговое окно Пошаговое исполнение макроса, содержащее сведения о статусе макрокода

Теперь, ознакомившись с основами создания и применения макросов, вы сможете использовать полученные знания для предварительного тестирования решений еще до их окончательной реализации в виде кода VBA либо для построения более мощных макросов, которым в проекте будет отведена самостоятельная роль. Остаток занятия мы посвятим рассмотрению ряда полезных примеров практического использования макросов.

Макросы группы КопироватьОбъект

Макросы, основанные на команде КопироватьОбъект, позволяют вы-

полнять операции копирования различных объектов - таблиц, запросов, форм, отчетов, макросов, модулей или страниц доступа к данным Access - как внутри текущей базы данных, так и между разными базами данных.



В этом разделе рассказано, как создать макрос для копирования таблицы CONCORDANCE. Рассмотрите рис. 9.7 и выполните действия, указанные ниже.

3 MAipoc: 1 1 WKpQC

. Eadujp CONCORDANCE

It- -

ноое имя

объекте йкр объекта

991709.гг й Concordance Backup Тв6л1ца Concordance!

Еведите или soieepiwe KOfiipyetiH гсьект. fc адтсяесе

ОбМавТЙ с Т1 юн, 2аДЗадЬФ1 е зргужнте ГЙП ОбьеТВ Для справки об

Рис. 7. Так создается макрос для копирования таблицы CONCORDANCE

1. В окне базы данных выберите элемент Макросы списка Объекты.

2. Щелкните на кнопке Создать панели инструментов.

3. В ячейке столбца Макрокоманда выберите элемент МТьОбъект. Ниже будут отображены поля ввода аргументов макрокоманды.

4. Поле База данных оставьте пустым - мы предполагаем, что копия таблицы CONCORDANCE должна содержаться в текущей базе данных.

5. В поле Новое имя введите имя таблицы-копии - CONCORDANCE BACKUP.

6. В раскрывающемся списке Тип объекта выберите элемент Таблица.

7. В поле Имя объекта введите CONCORDANCE либо выберите это наименование в раскрывающемся списке.

Не забудьте сохранить макрос и протестировать его. После однократного выполнения макроса список Таблицы окна базы данных пополнится новым объектом - CONCORDANCE BACKUP.

Использование макросов УдалитьОбъект

Макрос типа УдалитьОбъект (DeleteObject) в сочетании с построенными ранее макросом копирования и функцией проверки существования таблиц (TableExists) - удобное средство организации полнофункциональной схемы резервного копирования таблиц. Чтобы реализовать эту идею в отношении таблицы



CONCORDANCE, создадим новый макрос на основе команд ьОбъект и используем его совместно с макросом Concordance Backup и функцией TableExists.

Задача построения макроса типа УдалитьОбъект довольно проста - достаточно выполнить следующие действия.

1. В окне базы данных выберите элемент Макросы списка Объекты.

2. Щелкните на кнопке Создать панели инструментов.

3. В ячейке столбца Макрокоманда выберите элемент УдалитьОбъект.

4. В раскрывающемся списке Тип объекта выберите элемент Таблица и в поле Имя

объекта введите C0NC0RDANCE BACKUP либо выберите это наименование в раскрывающемся списке.

Запустите макрос на выполнение, чтобы проверить корректность его работы, и сохраните ПОД именем Delete Concordance.

Если вы попытаетесь исполнить макрос повторно, Access откроет окно сообщения об ошибке (рис. 9.8).

Е .....--------- --U

. iit -1 G, л . fe - . Sr. ;i

BMi } л lb :

oHfewiseft

* исе&в ,i ,o w обьЕкта. убедитесь л т*. что Htnwifiie* ш Tttut


Рис. 9.8 Шльзя удалить таблицу, которой уже нет!

Чтобы объединить решения в общую схему, потребуется создать новый макрос, скопировав в него строки существующих. Технология повторного использования вполне применима и при работе с макросами. В новых макросах можно частично использовать код старых, но при этом необходимо проводить тестирование. А если строить новый объект на основе существующих без их редактирования, тестирование можно не проводить.

Макрос, который мы собираемся построить, должен вначале проверять факт существования объекта (в нашем примере-таблицы CONCORDANCEBACKUP) и только за-



1 ... 45 46 47 [ 48 ] 49 50 51 ... 153

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика