Здавалка
Главная | Обратная связь

Макрос, предназначенный для регистрации дат создания и изменения



 

Если пользователю необходимо отслеживать дату создания и последнего изменения записи в таблице, можно сократить время ввода информации в эти поля, создав два макроса, которые будут автоматически осуществлять ввод даты. Для этого:

· Если поля для даты ввода и даты обновления еще не созданы в форме, создайте их. Затем создайте в этой форме кнопки для вызова макросов на ввод и обновление записей (во время создания этих кнопок отключите кнопку Мастера).

· Создайте новый макрос. В качестве макрокоманды выберите из списка Задать значение.В строку аргумента «Элемент» задайте имя поля, значение которого должно быть изменено. В строку «Выражение» занесите имя функции DATE(), которая определит текущую дату (можете воспользоваться построителем выражений).

· Сохраните макрос, например, под именем «Дата ввода».

· Перейдите в форму, для которой создавался макрос и свяжите кнопку вызова этого макроса с именем макроса. Для этого в режиме конструктора щелкните по кнопке, вызовите окно свойств, вкладку События и в строке «Нажатие кнопки» из списка выберите имя созданного для этих целей макроса.

· Аналогично создается макрос на обновление даты изменения.

Чтобы оба макроса выполнялись автоматически, свяжите макрос регистрации даты создания записи со свойством формы «До обновления», а макрос регистрации обновления со свойством «После обновления» (в этом случае соответствующие кнопки вызова макросов в форме можно удалить).

 

2. Макрос, предназначенный для ускорения поиска записей

Как правило, на практике приходится выполнять поиск определенного значения одного и того же поля. Для этого сначала необходимо перейти в требуемое поле, затем командой Правка, Найтиоткрыть диалоговое окно «Поиск в поле», ввести образец поиска и установить значение параметра «Совпадение». Используя две макрокоманды, эти действия можно упростить. Рассмотрим пример создания такого макроса для формы Клиенты и заказы.

· Откройте форму в режиме конструктора. Создайте на свободном месте поле и откройте окно свойств.

· Откройте окно свойств, вкладку «Другие» и в строку «Текст строки состояния» введите текст «Введите фрагмент текста для поиска». В результате этих действий пользователь получит в распоряжение управляющий элемент, предназначенный для ввода образца для поиска.

· Измените имя элемента в окне свойств на вкладке «Другие» на слово «Поиск» и измените подпись на слово «Поиск».

· Создайте макрос, осуществляющий поиск. Если макрос для этой формы уже есть, откройте его. Новому макросу присвойте имя «Поиск».

· Первое действие макроса должно активизировать элемент управления, в котором выполняется поиск. Из списка выберите макрокоманду К элементу управления.

· Для аргумента макрокоманды «Имя элемента» задайте имя управляющего элемента, который связан с полем поиска, например, «Фамилия».

· Следующая макрокоманда выполняет поиск. Выберите макрокоманду Найти запись. Для аргумента «Образец поиска» введите выражение = [Поиск]. Для “Совпадение” выберите значение “Поле целиком”, для области поиска –“Все”, в строке “Только в текущем поле” – значение “Да”, в строке “Первое вхождение” – значение “Да”.

· Третьей макрокомандой опять будет К элементу управления. В качестве аргумента «Имя элемента» введите [Поиск] .

· На последнем шаге остается разместить в форму кнопку «Поиск записи», вызывающую макрос «Поиск» и связать ее со свойством «Нажатие кнопки».

· Под именем «Поиск далее» создайте второй макрос. Для этого создайте копию макрос «Поиск» и измените аргумент «Область поиска» на значение «Вниз», в строке “Первое вхождение” – значение “Нет”. В форме создайте кнопку для продолжения поиска и свойством «Нажатие кнопки» свяжите макрос с этой кнопкой.

 

3. Условие выполнения макроса

Не всегда макрос должен выполняться сразу же после нажатия соответствующей кнопки. Рассмотрим, как задать условие выполнения макроса.

· Создайте новый макрос. Выберите команду Вид, Условия, в результате чего появится столбец «Условия».

· Прежде всего следует указать макрокоманды в той последовательности, в которой они должны выполняться. Например, если требуется распечатать несколько отчетов, следует выбрать макрокоманду Открыть отчет в режиме печати несколько раз.

· С помощью аргумента «Режим» можно определить, будет ACCESS печатать отчет или открывать в режиме предварительного просмотра.

· Перейдите в столбец условий первой строки. Введите там следующее выражение:

MsgBox («Печатать?»;4+32)=6

Данная функция отображает на экране диалоговое окно с указанным текстом и двумя кнопками «Да» и «Нет». Функция возвращает значение 6, если нажмете кнопку «Да» или значение 24, если нажмете кнопку «Нет». Печать выполнится, если вы нажмете на кнопку «Да».

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

Задание к лабораторной работе 7

1. Выполните описанные в работе макросы 1-3.

2. Составьте группу макросов с именем «Работа с формой», каждый из которых состоит из двух макрокоманд, выполняющих следующие действия:

· Открывает форму (в режиме формы).

· Осуществляет переход на конкретную запись.

· Открывает форму ( в режиме формы).

· Осуществляет переход на следующую запись.

· Открывает форму (в режиме формы).

· Осуществляет переход на последнюю запись.

· Задайте каждому макросу имя.

3. Составить макрос с именем «Поиск заказа», который находит в таблице Клиенты и заказы запись о заказах, поступивших в определенный день.

4. Составить макрос с именем «Скидка», выдающий на экран сообщение «Послать телеграмму!» при вводе в форму Клиенты и заказы в поле Скидка значения больше 0,1.

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.