Использование условий в макросах. Создание макросов с использованием ссылок на объекты
Если условие истинно, выполняется макрокоманда, стоящая в той же строке и все следующие за ней макрокоманды. Если условие ложно, то макрокоманда в этой строке и все следующие за ней макрокоманды, у которых вместо условия поставлено (…) будут пропущены. Следующей будет выполняться макрокоманда с новым условием или с пустой ячейкой условия. Ввод в столбец условия значения False позволяет пропустить выполнение макрокоманды. Для организации ветвлений наряду с условием используются макрокоманды ЗапускМакроса, Остановить макрос. Макрокоманда ЗапускМакроса позволяет организовать также циклы в программах. Примеры логических выражений в условии выполнения макрокоманды 1. Проверка в текущей записи формы, из которой запускается макрос:
2. Проверка одновременного выполнения двух условий на равенство заданным значениям в поле НАЗВАНИЕ ПРЕДМЕТА и поле ОЦЕНКА: [НП]=”Информатика” And [ОЦЕНКА] = 5 3. Подсчет числа значений в поле СТЕПЕНЬ таблицы ПРЕПОДАВАТЕЛЬ и сравнение его с заданным: Dcount (“[CT]”, “ПРЕПОДАВАТЕЛЬ”)>50 4. Функция MsgBox () может быть использована для вывода на экран окна диалога, содержащего нужное сообщение, и кнопок ОК и Отмена, нажатие которых формирует то или иное значение функции. Сравнивая значение, возвращаемое функцией MsgBox(), с заданным, пользователь может выбрать вариант действий: MsgBox ("Выдать справку?",1) = 1 Первый параметр функции задает выводимое на экран сообщение, единица на месте второго параметра определяет отображение в окне диалога кнопок ОК и Отмена (Cancel). Если пользователь нажимает кнопку ОК, функция возвращает значение "1", если кнопку Отмена, функция возвращает значение "2". В условиях могут использоваться значения элементов управления из объектов, которые не являются текущими в данный момент. 5. Сравнение значения поля КОЛ в текущей записи формы ГРУППА с заданным: Forms![ГРУППА]![КОЛ] . Создание макросов с использованием ссылок на объекты Ссылаться на объекты можно по имени, но нужно учесть, что в Ассеss объекты объединяются в семейства. Таблицы объединены в семейство Таблицы (Tables), формы — в семейство Формы (Forms), отчеты — в семейство Отчеты (Reports). Ссылка на объект: [имя семейства]![имя объекта]. Если имя включает пробелы или специальные символы, его следует заключить в квадратные cкобки. Пример: для ссылки на форму надо записать: Forms! [Учет успеваемости]. Ссылки на свойство объекта
Пример: имя свойства "Область выделения" (Record Selectors) должно записываться RecordSelectors, имя свойства "Полосы прокрутки" (Sсrоll Ваrs) - SсrоllВаrs. Для ссылки на свойство формы надо записать: Forms! [Учет успеваемости].SсrоllВаrs Ссылки на элемент управления и его свойство [имя семейства]![имя объекта]![имя элемента управления].имя свойства 1. В форме Учет успеваемости ссылку на элемент управления Надпись (Caption) с именем "ФИО Надпись" надо записать: Forms![Учет успеваемости]![ФИО Надпись] 2. В ссылке на свойство с именем ВыводНаЭкран, которое соответствует строке Вывод на экран на вкладке Макет (Format), надо использовать английский вариант этого имени Visible: Forms! [Учет успеваемости] ! [ФИОНадпись].Visible Ссылка на подчиненную форму или отчет Записывается как ссылка на элемент управления формы (отчета), включающей данную форму (отчет). Форма после внедрения содержится в элементе управления Подчиненная форма, отчет — в элементе управления Подчиненный отчет. Полная ссылка на свойство элемента управления в подчиненной форме имеет в общем виде следующую структуру: Forms![Имя формы]![Элемент Подчиненная форма].Forms![Элемент подчиненной формы].Имя Свойства При ссылках на элемент управления в подчиненной форме или подчиненном отчете не обязательно использовать полный идентификатор формы или отчета с указанием свойств Форма или Отчет. 1. Определить ссылку на элемент управления — поле АДРЕС в подчиненной форме Студенты, встроенной в форму Группы: Forms![Группы]![Студенты]![АДРЕС] При ссылках на элемент управления в текущей форме или отчете нет необходимости указывать идентификатор формы или отчета. 2. Для вывода суммы значений полей ЛЕК и ПР в другом поле ЧАСЫ в текущей форме ПРЕДМЕТ достаточно записать в аргументе макроса в строке Элемент выражение [ЧАСЫ], а в строке Выражение - [ЛЕК ] + [ПР]. Для вызова макроса, обеспечивающего расчет значения поля ЧАСЫ, при обновлении значений в полях ЛЕК и ПР нужно в свойствах этих полей на вкладке События в строке После обновления выбрать имя макроса "Расчет часов". Создание ссылок построителем выражений Ссылки на объекты, элементы управления и свойства удобно создавать с помощью построителя выражений. Чтобы вызвать построитель выражений, надо выбрать в окне макроса строку аргумента макрокоманды, в которую требуется ввести выражение и нажать появившуюся кнопку построителя. В открывшемся окне Построитель выражений надо ввести или вставить элементы выражения в теле записи выражений.
Читайте также:
|
