Базы данных Microsoft Access 2003

бесплатные сигналы форекс


Создание макросов



В Access поддерживается два языка программирования. Как правило, профессиональные разработчики используют язык VBA. Изучение этого языка выходит за рамки этой книги. Однако есть и другой язык — язык макросов, предназначенный для новичков. Если вы умеете выбирать элементы из поля со списком, значит, сможете написать и макрос.

Поэтому читателям, не имеющим опыта программирования, не стоит беспокоиться. Создание макроса подразумевает запись списка инструкций, которым будет следовать компьютер. В следующих разделах описываются методы быстрого создания простых макросов в Access.

В Access отсутствует средство записи макросов, что отличает макросы Access от макросов Word или Excel.



Создание макроса



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

1. Щелкните на ссылке Макросы, расположенной в окне базы данных.

2. Для открытия таблицы конструктора, предназначенной для создания нового макроса, щелкните на кнопке Создать, расположенной на панели инструментов.

3. Щелкните на раскрывающемся списке в первой строке столбца Макрокоманда и выберите из списка команду Сигнал.

4. Выполните команду Файл>Сохранить.

5. В диалоговом окне Сохранение присвойте макросу имя Сигнал и щелкните на кнопке ОК.

6. В окне базы данных дважды щелкните на макросе Сигнал, на что немедленно отреагирует компьютер, издав звуковой сигнал.

Как видите, созданный нами макрос содержит лишь одну команду, Сигнал, благодаря которой и «пищит» компьютер. Но отдельные макросы включают в себя и по нескольку команд.

Ничего сложного, не правда ли? Теперь создадим более сложный и, надо полагать, более полезный макрос, который будет открывать форму и переходить к определенной записи.

1. Щелкните на ссылке Макросы в окне базы данных.

2. Щелкните на кнопке Создать, расположенной на панели инструментов, и на экране появится таблица конструктора, предназначенная для создания нового макроса.

3. В первой строке столбца Макрокоманда выберите команду Открыть Форму. На нижней панели конструктора будут указаны возможные свойства для макроса Открыть Форму (рис. 15.10). Примерно такие же свойства задаются при добавлении в таблицу нового поля.

4. В поле Имя формы выберите форму Растения.

5. Щелкните на второй строке в столбце Макрокоманда (под макрокомандой Открыть Форму) и выберите команду Найти запись.

6. Введите Тунбергия в поле Образец поиска.

7. Выберите в поле Совпадения опцию С любой частью поля.

8. Выполните команду Файл>Сохранить.

9. В диалоговом окне Сохранение введите имя макроса — Тунбергия и щелкните на кнопке ОК.



Рис. 15.10. Настройка параметров макроса


10. Закройте макрос.

11. В окне базы данных выберите макрос Тунбергия. Щелкните на кнопке Запуск на панели инструментов, после чего откроется форма Растения, отображающая запись Тунбергия.

Некоторые команды макроса выполняются Access в порядке сверху вниз. В данном случае первая команда открывает форму, а вторая находит запись в форме (так, как если бы пользователь самостоятельно открывал в Access форму и выполнял команду Правка> Найти).

Макроязык Access содержит десятки макрокоманд. Многие из них осуществляют операции, рассказ о которых выходит далеко за рамки этой книги. Некоторые из основных макрокоманд представлены в табл. 15.3.

Таблица 15.3. Макрокоманды, используемые в Access


Команда

Описание

ПрименитьФильтр

Применение фильтра для формы с целью ограничения количества отображаемых записей

Сигнал

Звуковой сигнал

Закрыть

Закрытие открытого объекта, например формы или отчета

К элементу управления

Переход к элементу управления

НайтиЗапись

Обнаружение определенной записи в форме

Развернуть

Разворачивание активного окна в Access

Свернуть

Сворачивание активного окна в Access

ОткрытьФорму

Открытие формы

ОткрытьЗапрос

Открытие запроса

ОткрытьОтчет

Открытие отчета

ОткрытьТаблицу

Открытие таблицы

Выход

Завершение работы в Access

ОтпоавитьОбъект

Отпоавка текущего объекта в письме электронной почты


Далее в главе рассматривается команда ПрименитьФильтр. Фильтры подробно описывались в главе 8, «Создание и использование форм данных». С помощью макроса будут продемонстрированы процессы автоматической фильтрации и объединения нескольких фильтров в одном макросе. Это достаточно сложный пример, но в результате его выполнения окажется, что макрос состоит из уже известных компонентов. Итак, приступим.

1. В окне базы данных щелкните на ссылке Макросы.

2. Щелкните на кнопке Создать, расположенной на панели инструментов. Откроется таблица конструктора для создания нового макроса.

3. Выберите команду Вид>Имена макросов для добавления нового столбца к таблице конструктора. Столбец позволяет объединять несколько команд в одном макросе, тем самым упрощая структуру последнего.

4. В первой строке столбца Имя макроса в качестве названия макроса введите Декоративное.

5. В первой строке столбца Макрокоманда выберите команду ПрименитьФильтр.

6. В нижней области экрана введите [Номер типа] =1 в качестве значения свойства Условие отбора. В таком случае, фильтр выберет только записи, в которых значение Номер типа равно 1.

7. В качестве имени макроса во второй строке столбца Имя макроса введите Пищевое.

8. Выберите команду ПрименитьФильтр во второй строке столбца Макрокоманда.

9. Введите [Номер типа] =2 в качестве значения свойства Условие отбора.

10. Введите Лечебное в качестве имени макроса в третьей строке столбца Имя макроса.

11. Выберите команду ПрименитьФильтр в третьей строке столбца Макрокоманда.

12. Введите [Номер типа] =3 в качестве значения свойства Условие отбора. Макрос с тремя заполненными строками показан на рис. 15.11.



Рис. 15.11. Создание макроса для выполнения различных команд


13. Выполните команду Файл>Сохранить.

14. В диалоговом окне Сохранение присвойте макросу имя РастенияФильтры и щелкните на кнопке ОК.

15. Закройте макрос.

16. В окне базы данных щелкните на ссылке Формы.

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



17. Выберите форму Растения и щелкните на кнопке Конструктор.

18. Выполните команду Вид>Панель элементов для вывода панели на экран.

19. Выберите элемент Кнопка на панели и щелкните на пустой области формы для создания кнопки.

20. В окне мастера Создание кнопок выберите категорию Разное и команду Выполнить макрос, после чего щелкните на кнопке Далее.

21. Выберите для запуска макрос РастенияФильтры.Декоративное. Щелкните на кнопке Далее.

22. Выберите переключатель Текст и введите текст для кнопки Декоративное. Щелкните на кнопке Готово.

23. Выберите элемент Кнопка на панели и щелкните на пустой области формы для создания второй кнопки.

24. В окне мастера Создание кнопок выберите сначала категорию Разное, затем действие Выполнить макрос и щелкните на кнопке Далее.

25. Выберите для запуска макрос РастенияФипьтры.Пищевое. Щелкните на кнопке Далее.

26. Выберите переключатель Текст и введите текст для кнопки — Пищевое. Щелкните на кнопке Готово.

27. Выберите элемент Кнопка на панели и щелкните на пустой области формы для создания третьей кнопки.

28. В окне мастера Создание кнопок выберите сначала категорию Разное, затем действие Выполнить макрос и щелкните на кнопке Далее.

29. Выберите для запуска макрос РастенияФильтры.Лечебное. Щелкните на кнопке Далее.

30.Установите переключатель Текст и введите текст для кнопки— Лечебное. Щелкните на кнопке Готово.

31. Выполните команду Файл>Сохранить.

32. Выполните команду Вид>Режим формы.

33. Щелкните по одному разу на каждой кнопке. Форма изменится — теперь она будет отображать только определенные записи. На рис. 15.12 в качестве примера показана форма с фильтром Лечебное. Судя по навигационной панели, отображаются только две записи о лечебных растениях.

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

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



Рис. 15.12. Фильтрация содержимого формы с помощью макроса


Создание макросов методом «перетащить и опустить»



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

1. В окне базы данных щелкните на ссылке Макросы.

2. Щелкните на кнопке Создать, расположенной на панели инструментов чтобы открыть таблицу конструктора для создания нового макроса.

3. Расположите окна Access таким образом, чтобы окна макросов и основное окно базы данных не перекрывали друг друга.

4. Щелкните на ссылке Отчеты, расположенной в окне базы данных.

5. Перетащите отчет КаталогипоСпециализации из окна базы данных в первую строку макроса. Будет выполнена команда Открыть Отчет и выведено имя отчета.

6. Измените аргумент макрокоманды Режим на Просмотр.

7. Выберите команду Файл>Сохранить.

8. В диалоговом окне Сохранение присвойте макросу имя ОтчетКаталогов и щелкните на кнопке ОК.

9. Закройте макрос.

10. Щелкните на ссылке Макросы в окне базы данных.

11. В окне базы данных дважды щелкните на имени макроса ОтчетКаталогов. Отчет Каталоги По Специализации будет открыт в режиме предварительного просмотра.

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

Создание кнопок с помощью макросов



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

1. В окне базы данных щелкните на ссылке Формы.

2. Выберите форму Каталоги.

3. Щелкните на кнопке Конструктор для открытия формы в режиме конструктора.

4. Щелкните на ссылке Макросы в окне базы данных.

5. Перетащите макрос ОтчетКаталогов из окна базы данных и вставьте его в область Примечание формы. Будет создана новая командная кнопка.

6. Нажмите клавишу <F4> для открытия окна Свойства.

7. Измените свойство Подпись командной кнопки, присвоив ей значение Отчет предварительного просмотра.

8. Выберите команду Файл>Сохранить.

9. Закройте окно Свойства.

10. Выберите команду Вид>Режим формы, и в нижней области формы будет представлена новая кнопка Отчет.

11. Щелкните на этой кнопке для открытия отчета КаталогиПоСпециализации в режиме предварительного просмотра (рис. 15.13).

Таким образом, при переносе макроса на форму, открытую в режиме конструктора, Access создает командную кнопку, выполняющую данный макрос. Это позволяет создавать командные кнопки без использования мастера кнопок.

Теперь давайте посмотрим, какие связи между элементами базы данных присутствуют в описываемом выше примере:

  •  данные хранятся в таблице Каталоги;
  •  форма основана на таблице каталоги;
  •  запрос КаталогиПоСпециализации также основан на таблице Каталоги;
  •  отчет КаталогиПоСпециализации основан на запросе КаталогиПоСпециализации;
  •  макрос создан путем переноса отчета на поле конструктора макроса;
  •  кнопка создана путем переноса макроса на поле конструктора формы.


Итак, все компоненты формы гармонично взаимодействуют друг с другом, обеспечивая тем самым работу различных функций базы данных Access.



Рис. 15.13. Открытие формы с помощью кнопки, основанной на макросе

Назад Начало Вперед