МАКРОСЫ В ACCESS . ПЕРВОЕ ЗНАКОМСТВО
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Цель работы:Познакомиться с макросами в Access.

ВВОДНЫЕ ЗАМЕЧАНИЯ

Access 97 предоставляет пользователям два средства автомати­зации работы с базами данных: язык макросов и язык Visual Basic for Applications (VBA).

Язык VBA имеет преимущества перед языком макросов. Несмотря на это последний можно использовать для создания сложных программ и для автоматизации большинства операций по управлению базой дан­ных.

В отличие от Excel 97 и Word 97, в Access 97 автоматическая запись макросов не выполняется.

Окно макросов открывается в результате нажатия кнопки Соз­дать на вкладке Макросы окна базы данных. Оно включает четыре столбца: Имя макроса, Условия, Макрокоманда и Примечание. При созда­нии нового макроса по умолчанию отображаются только столбцы Мак­рокоманда и Примечание. Показ остальных столбцов можно установить используя команды Имя макроса и Условия из меню Вид или же однои­менных кнопок на панели инструментов Создание макроса.

В столбце Имя макроса указывается имя макроса, которое надле­жит задавать, если окно содержит несколько макросов. В столбце Ус­ловия осуществляется ввод условия (логическое выражение) для вы­полнения только части макроса. В столбце Макрокоманда перечисляют­ся подлежащие выполнению действия (макрокоманды) в нужной после­довательности.Столбец Примечание, содержащий комментарии к прог­рамме, при выполнении макроса игнорируется программой, однако за­полнять его рекомендуется, поскольку в этом случае текст макроса понятнее.

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

СОЗДАНИЕ МАКРОСОВ

После нажатия кнопки Создать на вкладке Макросы пользователь получает доступ к бланку макроса. В каждой строке этой таблицы размещается одна макрокоманда. Для определения ее параметров пользователь должен заполнить предложенные программой формы в нижней части бланка. Чаще всего оператору СУБД удается определить все параметры макрокоманды «по ходу дела», не штудируя справочник. Создадим в качестве примера макрос для фильтрации дан­ных в таблице. Конечно, в Ассеss много замечательных средств для того, чтобы организовать фильтрацию, но удобство макрокоманды ПрименитьФильтр заключается в том, что в ней заранее опреде­ляется критерий фильтрации и запоминается вместе с макрокомандой Можно, иметь хоть сто макросов на разные случаи жизни. Они вызываются достаточно быстро, а отменить их действие можно обычным способом, нажав кнопку Удалить фильтр.

Итак, в бланке макроса необходимо указать требуемое имя макрокоманды (в нашем случае ПрименитьФильтр) и затем записать условие фильтрации. Такое условно можно задать с помощью построи­теля выражений.. Допустим, нам надо выбрать в таблице Литература все записи по теме «меди­цина». Условие фильтра будет выглядеть так:

[Литература]! [ТЕМА]= "медицина"

Запуск макроса может осуществляться следующими способами:

1.Щелчок по кнопке Запуск на панели инструментов ( на ней изображен восклицательный знак).

2.Вызов команды Запуск макроса из меню Сервис.

3.Маркировка имени макроса и нажатие кнопки Запуск на вклад­ке Макросы окна базы данных.

4.Двойной щелчок на имени запускаемого макроса.

После того как макрос написан, разработчик приложения или пользователь должен определить способ запуска макроса. Кроме тривиального пути – при помощи меню Сервис — макросы можно вызывать программ­ным путем -- автоматически или посредством элементов управления в формах и отчетах. Если макрос должен запускаться независимо от же­лания пользователя, то он должен быть поставлен в соответствие неко­торому событию, которое, в свою очередь, связано с определенным объектом. При обсуждении форм и отчетов мы видели, как можно свя­зать с событием выполнение определенной процедуры. Точно также для обработки событий используются и макросы. Достаточно при опре­делении свойств объекта в строке, соответствующей событию, указать имя макроса.

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

1.Создать макрос, состоящий из одной макрокоманды — Сооб­щение. В качестве аргумента этой макрокоманды должен быть введен текст сообще­ния. Например, такой: «По этому вопросу обра­щаться к И. Иванову!» Полезно также задать аргумент За­головок. Он определяет название информационного окна Заголовок например, он может быть таким: «Напоминание».                                                 

2. Раскрыть отчет (если мы хотим связать макрос с отчетом) в режиме конструктора и задать обработку события Открытие. В соот­ветствующей строке необходимо указать имя созданного макроса.

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

Данный пример можно использовать для форм или отчетов. Су­ществуют три способа получения доступа к окну свойств формы или отчета, находящихся в режиме конструктора. Первый — это команда Вид /Свойства. Второй — кнопка Свойства, которая выводится на эк­ран по умолчанию в режиме кон­структора. А третий — это контекст­ное меню формы или отчета, в котором можно выбрать команду Свой­ства. Щелкать надо квадратик, расположенный на пересечении верти­кальной и горизонтальной линеек.

 

КНОПКА, ЗАПУСКАЮЩАЯ МАКРОС

 

Макрос может быть вызван после щелчка мышью элемента управления в форме или отчете. Существуют задачи, в кото­рых пользователю необходимо переходить от формы к форме в опре­деленной последовательности. Естественно, ему будет удобно, если правильная очередность форм будет заложена в программу, чтобы не приходилось думать о том, какую форму открывать следующей. В са­мом Access подобные кнопки используются для перехода по рекламно – учебным окнам и при выполнении мастеров.

Рассмотрим пример создания такой последовательности. Пусть требуется из открытой Формы1 перейти к Форме2, а из нее вернуться в Форму1.

Последовательность действий в этом случае будет следующей:

1. К формам 1 и 2 добавить по кнопке.

2. Создать два макроса с именами Переход и Возврат, состоящих из двух команд каждый: Закрыть – без аргументов и ОткрытьФорму. В качестве аргумента Имя формы для макроса Переход указать Форма2, а для макроса Возврат – Форма1.

3. В открытых формах в режиме конструктора для кнопки, находящейся в форме1 установить Подпись - Переход, а событию Кнопка вниз присвоить имя макроса Переход. Для кнопки в форме2 соответственно – Возврат.

 

КНОПКА С КОНТЕКСТНЫМ МЕНЮ

 

С элементом управления (в частности, с кнопкой) может быть связано контекстное меню с командами, определенными пользовате­лем. Каждая из них будет запускать на выполнение макрос или подпро­грамму Visual Basic. Опре­делим последовательность действий, которые нужно выполнить, чтобы создать такое меню, связанное с кнопкой. Предположим, что в меню должны входить три команды, которые за­пускают макросы Макро-1, Макро-2 и Макро-3.

Последовательность действий может быть следующей.

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

Создать контекстное меню, для чего выбрать команду Настойка из меню Вид. На вкладке Панели инструментов щелкнуть по кнопке Создать, ввести имя контекстного меню, например, Конменю, кнопкой Свойства открыть окно Свойства панели инструментов и установить тип Контекстное меню. Закрыть окно и на вкладке Панели инструментов установить флажок Контекстные меню. На панели Контекстные меню открыть вкладку Настраиваемый, активизировать команду Конменю. На вкладке Команды Панели инструментов выбрать Все макросы и перетащить Макро-1, Макро-2 и Макро-3 в подменю команды Конменю.

Для каждой команды Макро, используя контекстное меню в диалоговом окне Свойства элемента конменю в строке действие установить соответственно Макро-1, Макро-2 и Макро-3.

Открыть форму в режиме конструктора и создать новую кнопку. Раскрыть окно свойств кнопки и определите ее подпись, на­пример «конменю».

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

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

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

А можно связать с объектом еще один макрос, который запус­кался бы при двойном щелчке ? Нет, нельзя. При двойном щелчке воз­никает событие Нажа­тие кнопки и будет выполняться тот же макрос, что и при простом щелчке. А можно запускать макрос при помощи двойного нажатия кнопки мыши, если обработка события Нажатие кнопки не определена ? Да, можно. В этом случае макрос должен вы­зываться событием Двойное нажатие кнопки.

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

Выбирается Вид /Панели инструментов /Настройка/Свойства. Из списка Выбранная панель выбирается удаляемое меню. В поле Свойства панели инструментов устанавливается тип Панель инструментов.

 

СПИСОК МАКРОКОМАНД

 

При создании макроса пользователь имеет возможность выби­рать макроко­манду из списка для каждой строки бланка. Ниже приво­дится перечень макро­команд Access с их кратким описанием. Макро­команд немного, и, прежде чем планировать разработку собственного приложения, полезно ознакомиться с ними, чтобы решить, смо­гут ли макросы вам помочь, или потребуется исполь­зовать более мощ­ные средства программирования.

 

Дата: 2018-12-28, просмотров: 274.