|
Поиск записей с использованием макросов ⇐ ПредыдущаяСтр 8 из 8
Рис. 7.3 На рис 7.3 в колонке Примечание указаны только обязательные аргументы которые следует вводить в окне проектирования макроса. Значения остальных аргументов не вводятся. Первая макрокоманда Открыть форму имеет обязательный аргумент Имя формы со значением СТРМ_КОНСТР ¾ это имя открываемой формы. Вторая макрокоманда с обязательным аргументом Имя элемента со значением Н_СТРМ активизирует (выделяет) поле Н_СТРМ, в котором будет осуществляться поиск. Третья макрокоманда НайтиЗапись. Обязательный аргумент этой макрокоманды Образец поиска имеет значение о_бл. Четвертая макрокоманда с обязательным аргументом Имя элемента со значением ЦЕНА активизирует (выделяет) поле ЦЕНА в найденной записи. Пятая макрокоманда Выполнить команду с обязательным аргументом Команда со значением Копировать копирует содержимое поля ЦЕНА в найденной записи в буфер обмена. После выполнения макроса появляется форма СТРМ_КОНСТР с найденной текущей записью. Чтобы убедиться в том, что в буфере обмена находится скопированное значение поля ЦЕНА, щелкнем на этом поле и сотрем его значение клавишей [Delete]. Затем введем команду меню Правка / Вставить или, что тоже самое нажмем клавиши [Ctrl][V]. Стертая цифра из буфера обмена будет вновь вставлена на старое место (туда, где курсор).
Условия выполнения макроса Задавая условия выполнения макрокоманды, можно управлять ее запуском и выполнением. Это позволяет, например, выводить на экран сообщение, когда происходит указанное событие. Рассмотрим следующий пример. Пусть при вводе в форму СТРМ_КОНСТР новой записи или при редактировании существующей нужно выдать сообщение "Подготовить прицеп", если габарит равен 1-2-3. · В окне базы данных щелкнем на закладке макросы, а затем на кнопке Создать. Появится окно проектирования макроса. · Введем команду меню Вид / Условия. В окне проектирования макроса появится колонка Условия. · В первую строку колонки Условия введем следующее выражение: · ГАБАРИТ="1-2-3" · В этой же строке в колонке Макрокоманда введем макрокоманду Сообщение со следующими аргументами: Сообщение - Подготовить прицеп; Сигнал -Да; Тип-Информационное. · Сохраним макрос под именем под именем Сообщение. Вид макроса Сообщение показан на рис. 7.4. Если имя анализируемого условием поля содержит символ пробела или знаки препинания, то его следует заключить в квадратные скобки. Хотя мы не заключали слова ГАБАРИТ в квадратные скобки, Access это сделал автоматически.
Рис. 7.4 В соответствии с нашей задачей нужно связать выполнение макроса Сообщение в момент наступления события ¾ изменения содержимого поля ГАБАРИТ. Для этого следует: · Открыть форму СТРМ_КОНСТР в режиме конструктора. · Щелкнуть мышью на поле ГАБАРИТ. · Открыть окно свойств выделенного поля командой меню Вид / Свойства. · Щелкнуть мышью на закладке События. Найти среди свойств поля ГАБАРИТ событие После обновления и щелкнуть мышью правее его в поле ввода. Появится значок выпадающего списка. Откройте его и выберете имя нашего макроса Сообщение. Таким образом, с событием изменения содержимого поля связывается макрос. · Закройте окно свойств формы.
Рис. 7.5 В рассмотренном примере в случае выполнения условия нужно было выполнить только одну макрокоманду. В следующем примере в случае выполнения условия нужно выполнить две команды. Пусть с помощью формы СТРМ_КОНСТР необходимо запретить закупку складом слишком дорогих стройматериалов. Для этого, в случае если значение поля ЦЕНА > 300, нужно выдать сообщение Слишком дорого! и отменить введенную запись. Порядок решения этой задачи следующий: · Откройте окно проектирования макроса с колонкой условий. · В первое поле колонки условий введите условие: ЦЕНА>300. · В колонку Макрокоманда введите макрокоманду Сообщение. Аргументу Сообщение присвойте значение Слишком дорого! Аргументу Тип присвойте значение Критическое. · Во вторую строку колонки условий введите многоточие (нажмите без пробелов клавишу с точкой три раза). · Во вторую строку колонки Макрокоманда введите макрокоманду Выполнить команду со значениями аргумента Отменить. · Сохраните макрос командой Файл / Сохранить под именем Управление вводом. Вид этого макроса показан на рис. 7.6. Откройте форму СТРМ_КОНСТР в режиме конструктора, щелкните правой кнопкой мыши по пустому (темному) участку формы и вызовите окно свойств формы. Свяжите выполнение макроса Управление вводом с событием После обновления формы. Проверьте работу макроса. После ввода всей записи, в которой цена стройматериала больше указанного значения, появляется окно сообщения: Слишком дорого!. Нажмем кнопку ОК в окне сообщения. Убедимся, что ввод в последнюю запись отменен (в поле ЦЕНА появилось прежнее значение).
Контрольные вопросы 1. Как создать макрос для открытия объектов? 2. Как ввести в макрос следующую макрокоманду? 3. Как вставить в готовый макрос новые макрокоманды? 4. Как удалить или поменять местами макрокоманды? 5. Как обеспечит размещение на экране размещение открытых объектов рядом? 6. Как ввести аргументы макрокоманды? 7. Как выполнить макрос? 8. Как связать макрос с кнопкой?
![]() ![]() Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... ![]() Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... ![]() Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... ![]() Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|