![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Средства макропрограммирования в MS Access
Access, как и любая другая развитая программная система, обладает средствами разработки программных приложений, ориентированных на конечных пользователей. Эти средства базируются на инструментах двух типов: макросах и модулях. Само понятие макроса подразумевает наличие набора некоторых стандартных команд системы, или макрокоманд (допустим, таких, как открытие формы, выполнение запроса, вывод отчета), из которых и конструируется сам макрос. Макрос может быть как собственно макросом, состоящим из последовательности макрокоманд, так и группой макросов. Группой макросов называют их набор, сохраняемый под общим именем. В некоторых случаях для решения, должна ли в запущенном макросе выполняться определенная макрокоманда, может применяться условное выражение. Особый интерес вызывает механизм вызова макросов в Access. Для этого существует две принципиальных возможности: вызов макроса по команде пользователя (либо непосредственно из раздела Макросы главного окна базы данных, либо с помощью меню или панели инструментов, с которыми он также может быть ассоциирован); вызов макроса по некоторому системному событию (открытие или закрытие формы, изменение управляющего элемента и т. п.). Весьма полезной представляется возможность организовать автоматическое выполнение ряда действий при открытии базы данных. Для этого они должны быть описаны в специальном макросе с именем Autoexec. Возможности применения макросов при работе в среде СУБД Access можно наглядно продемонстрировать на следующем примере. Предположим, что в ранее созданную форму Бумаги мы хотим добавить процедуру дополнительного контроля вводимых значений дат эмиссии ценных бумаг, которая должна будет выдавать предупреждающее сообщение, если вводится слишком " ранняя" дата. Допустим, что к таковым относятся даты, предшествующие 1 января 1991 года.
Рис. 10.20. Создание макроса
Технически решение представляется удобным реализовать в виде макроса, вызываемого по событию " до обновления", ассоциированному с полем ДатаЭм в форме Бумаги. На рис. 10.20 показан процесс разработки данного макроса (ему дано имя КонтрольДатаЭм). Из него видно, что макрос содержит три макрокоманды: - Первая, ОстановитьМакрос - прерывает работу, если введена дата более поздняя, чем 1 января 1991 года. - Вторая, ОстановитьМакрос - выполняется, если пользователь считает, что несмотря на сделанное предупреждение введенная дата является верной. Для вывода предупреждения используется встроенная функция MsgBox. - Третья - отменяет событие ввода данных, если они после предупреждения признаются ошибочными. Хорошим стилем разработки макросов является снабжение их комментариями, располагаемыми в соответствующей колонке.
Рис. 10.21. " Привязка" макроса к событию
На рис. 10.21 показана привязка разработанного макроса к событию " до обновления" поля ДатаЭм формы Бумаги.
|