Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Тема 10. Конструирование макросов




Теоретические сведения

Макрос — это последовательность макрокоманд, т.е. инструкций, ориентированных

на выполнение определенных действий. Макросы являются надстройкой над языком Visual

Basic и обеспечивают пользователя средствами для решения нестандартных задач без знаний

детального программирования. В Access есть возможность обеспечить взаимодействие

макросов с объектами на основе событий. Таким образом, пользователь, выполняя

определенные действия в формах, инициирует запуск макросов, автоматизирующих

выполнение различных подзадач. Например, при закрытии формы возникает событие

Закрытие, при щелчке мышью по кнопке, имеющейся в форме, для нее возникает событие

Нажатие кнопки.

Формирование макроса осуществляется в режиме Конструктора путем

последовательного выбора макрокоманд, в том порядке, в котором они должны выполняться.

Чтобы отобразить все макрокоманды, нужно на закладке Конструктор ленты инструментов

включить кнопку Показать все действия. Для каждой макрокоманды задаются значения

аргументов (рис. 10.1).

 

Выбрать нужную

макрокоманду

 

 

Задать аргументы выде-

ленной макрокоманды

 

Рис. 10.1. Конструирование макроса

 

Макрокоманды делятся на классы, сформированные по функциональному принципу:

открытие/закрытие таблиц, запросов, форм и отчетов, печать данных,

проверка истинности условий и управление выполнением макрокоманд,

установка значений,

поиск данных,

построение пользовательского меню и выполнение команд меню,

управление выводом на экран и фокусом,

сообщение пользователю о выполняемых действиях,

переименование, копирование, удаление, импорт и экспорт объектов,

запуск приложений.

Для выполнения макроса используется кнопка Запуск. Чтобы связать созданный

макрос с каким-либо событием, нужно открыть свойства объекта или элемента управления

на закладке События и затем выбрать имя макроса в строке этого события. Набор событий с

которыми можно связать макрос или какую-либо процедуру обработки на языке VBA

зависит от конкретного объекта.

Группа макросов создается как один макрос, в котором содержатся несколько

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

одной формой. Работать с группой удобнее, чем с несколькими отдельными макросами.

Для создания группы макросов нужно включить столбец Имя макроса с помощью

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

Имя макроса надо ввести имя первого макроса, входящего в группу. Затем записать

макрокоманды, выполняемые в первом макросе. Аналогичным образом надо ввести

имена других макросов и их макрокоманды. Все макросы, созданные в одном окне, будут

 

94

 


 

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

именем группы, которое выводится в списке макросов в окне БД.

Для ссылок на макросы, которые вошли в группу макросов, используется следующий

синтаксис: Имя_Группы_Макросов. Имя_Макроса

Использование условий в макросе позволяет задать порядок передачи управления

между макрокомандами и обеспечивает выполнение определенных ветвей алгоритма.

Например, если в макросе проверяется значение поля в форме на соответствие заданным

условиям, то для одних значений может потребоваться вывести сообщение, а для других

значений сформировать отчет.

Условие вводится в столбец Условие в строку макрокоманды, которая должна

выполняться если это условие истино. Столбец Условие включается нажатием кнопки

Условия на закладке Конструктор ленты инструментов. Условие задается с помощью

логического выражения.

Для организации ветвлений в программе нужно наряду с условиями использовать

макрокоманды Остановить Макрос и Запуск Макроса. Возможно также создание циклов.

 

Пример 10.1. Создать макрос, который будет подсчитывать количество студентов в

каждой группе и сохранять эти данные в таблице Количество_студентов.

Выполнение:

1. Создать новый макрос. На закладке Конструктор ленты инструментов включить,

если не включена, кнопку Показать все действия.

2. Выбрать макрокоманду УстановитьСообщения и в аргументе Включить

сообщения выбрать Нет, для того чтобы отключить системные сообщения и избежать

остановок в работе макроса.

3. Выбрать макрокоманду ЗапускЗапросаSQL и в аргументе Инструкция SQL ввести

следующую инструкцию:

SELECT Группа, Count(Фамилия) AS Кол_студ INTO Количество_студентов FROM

Студенты GROUP BY Группа;

Правила написания инструкций SQL в аргументе макрокоманды такие же, как и в режиме

SQL при создании запросов (см. тему 7), но в этом случае вся инструкция вводится в одну

строчку.

4. Выбрать макрокоманду ОткрытьТаблицу и в аргументе Имя таблицы ввести

Количество_студентов.

5. Макрос сохранить и выполнить.

 

 

Практические задания

Задание 10.1. макрос «Число студентов», который будет: 1) создавать таблицу

Количество_студентов, содержащую данные о количестве студентов в каждой группе; 2)

добавлять поле Кол_во в таблицу Группа; 3) обновлять поле Кол_во данными таблицы

Количество_студентов; 4) открывать таблицу Группа; 5) удалять таблицу

Количество_студентов.

Рекомендации по выполнению:

- Создать новый макрос.

- С помощью макрокоманды УстановитьСообщения отключить предупреждающие

сообщения.

- Выбрать макрокоманду ЗапускЗапросаSQL и в аргументе Инструкция SQL ввести

инструкцию, приведенную в п. 3 примера 10.1.

- Выбрать макрокоманду ЗапускЗапросаSQL и в аргументе Инструкция SQL ввести

инструкцию, которая позволит добавить поле Кол_во в таблицу Группа (см. тему 7).

 

 

95


 

- Выбрать макрокоманду ЗапускЗапросаSQL и в аргументе Инструкция SQL ввести

инструкцию, которая позволит обновить поле Кол_во таблице Группа

поля Кол_студ таблицы Количество_студентов.

- С помощью макрокоманды ОткрытьТаблицу открыть таблицу Группа.

- С помощью макрокоманды УдалитьОбъект удалить

Количество_студентов.

- Макрос сохранить под именем Число студентов и выполнить.

 

Задание 10.2. Создать макросы для выполнения нескольких запросов. Для размещения

запросов на экране так, чтобы они не перекрывали друг друга, используйте макрокоманду

СдвигРазмер. Перед проверкой работы данных макросов нужно открыть Параметры

Access и в категории Текущая база данных включить опцию Перекрывание окон.


 

Макрос

Факультеты и форма обучения

Сумма оплаты

Задолженности

Итоги сессии

Количество по курсам

Доля внебюджетников


 

Выполняемые запросы

4-2-1 и 4-2-2

4-2-3 и 4-3-1

4-3-3 и 7-3-1

4-3-2, 7-8-3, 7-15, 7-16

4-2-4 и 7-8-2

4-2-6, 4-2-7, 5-4


 

Задание 10.3. Создать макрос для вывода в форме Успеваемость подчиненная форма текста

Двоечник! рядом с надписью Оценка, если в текущей записи в поле ОЦЕНКА стоит 2 или 3.

Рекомендации по выполнению:

- Создать новый макрос и в окне конструктора включить столбец Условие.

- Задать порядок и аргументы макрокоманд, руководствуясь таблицей:


 




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 712; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.