Реферат: Использование макросов в MS Access 2000
Рис. 3. Конструктор макросов и панель аргументов
Верхняя часть окна Конструктора — панель описаний — состоит из нескольких столбцов. По умолчанию на этой панели выводится два столбца: Макрокоманда и Примечание. Панель описаний позволяет определить последовательность макрокоманд, из которых состоит макрос.
Строка в столбце Макрокоманда представляет собой поле со списком, в котором можно выбрать нужную макрокоманду.
Строка в столбце Примечание — это обычное текстовое поле, в которое можно ввести комментарий, описывающий выполняемое действие.
Когда поле Макрокоманда заполнено, в нижней части окна Конструктора макроса появляется панель аргументов, которая служит для ввода значений аргументов соответствующей макрокоманды. Список полей на этой панели зависит от выбранной макрокоманды и может отсутствовать, если макрокоманда не имеет аргументов. Таким образом, при создании макросов не нужно запоминать список аргументов для каждой макрокоманды.
На панели аргументов имеются два поля, которые позволяют задать имя фильтра и условие отбора записей. Для того чтобы задать условие отбора записей, можно воспользоваться построителем выражений.
Такой макрос можно использовать в форме или отчете для того, чтобы ограничить число отображаемых записей.
Существует еще один очень простой способ ввода макрокоманды. Допустим, нужно создать макрос, который должен открывать форму “Вычисление” в приложении “db 1 ”. Для этого в окне База данных нужно щелкнуть по Форме , затем, используя панель инструментов (способ 2), открыть Конструктор макросов и перетащить с помощью мыши Форму “Вычисление” в поле Макрокоманда окна Конструктора макроса.
Тогда в поле Макрокоманда автоматически появится макрокоманда ОткрытьФорму, а на панель аргументов автоматически заполняются поля: в поле Имя формы появляется имя формы “Вычисление”, в поле Режим – значение по умолчанию Форма , в поле Режим окна – значение Обычное. Остальные поля останется пустыми.
Кроме того, можно сделать записи в этой форме недоступными для изменений, для этого в поле Режим данных нужно ввести значение Только чтение.
Рис. 4. Автоматическое создание макрокоманд путем перетаскивания объектов
Аналогично можно создавать макрокоманда, перетаскивая из окна База данных таблицы, запросы, отчеты и другие макросы. При этом будут создаваться соответствующие макрокоманды: ОткрытьТаблицу, ОткрытьЗапрос, ОткрытьОтчет, ЗапускМакроса.
Для ввода аргументов макрокоманды чаще всего требуется выбрать значения из списков или вводить выражения. Для ввода выражений можно воспользоваться построителем выражений, кнопка которого находится справа от поля аргумента. Еще одна кнопка построителя выражений находится на панели инструментов. Как и в других случаях, перед выражением нужно ставить знак равенства (=). Исключения составляют аргумент Выражение макрокоманды задать Значение и аргумент Число повторений макрокоманды ЗапускМакроса. Если ввести знак равенства перед выражением, задающим значение этих аргументов, то оно будет вычисляться дважды, что может привести к нежелательным результатам.
Если в качестве аргумента макрокоманды необходимо задать имя объекта базы данных, то его можно либо ввести с помощью клавиатуры, либо выбрать из раскрывающегося списка, либо указать название объекта, перетащив его из окна базы данных.
Итак, созданная нами макрокоманда будет открывать форму “Вычисление” в режиме Только чтение и показывать в ней только менеджеров по продажам. Как уже было сказано ранее, макрос может содержать последовательность из нескольких макрокоманд. Поэтому в этом же макросе в следующей строке мы выберем макрокоманду Сообщение, которая после открытия формы будет отображать диалоговое окно с сообщением о том, какие клиенты представлены в форме. Для этого введем в поле Сообщение на панели аргументов текст сообщения, например
Установлен фильтр по Фамилиям, остальные поля можем оставить без изменения. Аргумент Сигнал определяет, будет ли вывод сообщения сопровождаться звуковым сигналом. Аргумент Тип определяет вид диалогового окна сообщения. Аргумент Заголовок позволяет задать текст, который будет выведен в заголовке окна сообщения.
Если база данных большая, отбор записей в форме может занять некоторое время, поэтому рекомендуется вывести на экран курсор в форме песочных часов, который будет показывать, что идет обработка данных. Чтобы сделать это, воспользуемся макрокомандой ПесочныеЧасы. Макрокоманды в макросе выполняются в той последовательности, в которой они записаны в столбце Макрокоманда , т. е. сверху вниз. Макрокоманду ПесочныеЧасы нужно поставить первой, т. к. курсор должен измениться перед выводом формы. Таким образом, нам нужно вставить новую строку на панели описаний. Для этого установим курсор в первую строку панели и нажмем кнопку Добавить строки на панели инструментов или просто клавишу <Insert>. Появляется пустая строка. В этой строке в поле Макрокоманда выберем макрокоманду ПесочныеЧасы. В поле Включить панели аргументов появится значение Да , установленное по умолчанию, что нам и нужно. Чтобы вернуть первоначальный вид указателю мыши, в конце созданного макроса нужно ввести такую же макрокоманду ПесочныеЧасы, но со значением Нет аргумента Включить .
Строго говоря, эту макрокоманду лучше поставить перед макрокомандой вывода сообщения на экран. Это легко исправить, поскольку макрокоманды легко меняются местами с помощью мыши. Чтобы поменять две последние макрокоманды местами, выделите последнюю строку, щелкнув левой кнопкой мыши по области выделения строк (слева в окне Конструктора) и перетащите строку вверх. Горизонтальная линия показывает место нового положения строки. Отпустите кнопку мыши, когда эта линия окажется над предпоследней строкой.
Теперь остается только сохранить созданный макрос. Для этого можно выбрать в меню Файл команду Сохранить как или нажать клавишу <F12>. Появится окно сохранения макроса. Введите в поле ввода имя макроса, соблюдая правила именования объектов Access, например, менеджеры по продажам.
2.2. Создание групп макросов
При разработке приложения с использованием макросов количество макросов может оказаться очень большим. Поэтому важно хорошо организовать доступ к нужным макросам. Для этого в одном объекте Макрос можно объединить несколько макросов. Например, рекомендуется все макросы, связанные с событиями в форме или отчете, объединить в отдельный объект, соответствующий данной форме или отчету. Для того чтобы можно было это сделать, каждый макрос группы должен иметь свое имя, а имя объекта Макрос будет являться именем группы макросов.
Чтобы создать группу макросов:
· Откройте Конструктора макросов.
Рис 5 . Открытие Конструктора макросов
· Нажмите кнопку Имена макросов на панели инструментов. На панели описаний в окне Конструктора макросов появится еще один столбец Имя макроса.
Рис 6. Дополнительный столбец “Имя Макроса ”