- •Лабораторная работа № 9 Создание макросов
- •Создание макроса для открытия таблиц
- •Создание кнопок для фильтрации данных в форме
- •Использование макросов для поиска записей в форме
- •Проверка корректности ввода данных с использованием макросов
- •IsNull(Forms! [Студенты]![Философия])
- •Forms! [Студенты] '[Философия]
- •Создание группы макросов для открытия форм и отчетов
- •Синхронизация двух форм с помощью свойства Текущая запись
- •Создание главной кнопочной формы с использованием макросов. Создание специального меню
Использование макросов для поиска записей в форме
4. Создайте в форме Студенты поле со списком для поиска информации о каком-либо студенте.
Последовательность действий:
Откройте форму Студенты в режиме конструктора и добавьте в форму элемент Поле со списком (щелкните по элементу Поле со списком на панели элементов, а затем щелкните в области данных формы).
В окне Создание поля со списком выберите пункт Поиск записи в форме на основе значения, которое содержит поле со списком и нажмите кнопку Далее.
На следующем шаге с помощью кнопки > выберите поле Фамилия и нажмите кнопку Далее.
На следующем шаге измените, если необходимо ширину столбца и нажмите кнопку Далее.
На следующем шаге задайте подпись, которую содержит поле со списком, Поиск по фамилии и нажмите кнопку Готово.
Измените название поля Свободный. Для этого щелкните правой кнопкой мыши по полю Свободный, в контекстном меню выберите строку Свойства, в окне свойств щелкните по вкладке Другие, щелкните в строке Имя и введите новое имя поля Поиск по фамилии. Сохраните внесенные изменения и закройте окно свойств.
Закройте форму Студенты.
Теперь необходимо создать макрос для поиска записей определенного студента по полю Фамилия, который использует две макрокоманды КЭлементу Управления и НайтиЗапись. Для этого выполните перечисленные ниже действия.
В окне базы данных щелкните по вкладке Создание – Другие – Макрос и нажмите кнопку Макрос.
Щелкните в первую строку столбца Макрокоманда, раскройте выпадающий список и выберите макрокоманду КЭлементуУправления.
Щелкните в строку Имя элемента в области аргументов макрокоманды и введите [Фамилия].
Во второй строке столбца Макрокоманд выберите макрокоманду НайтиЗапись. В области Аргументы макрокоманды щелкните в строке Образец поиска и введите:
=[Поиск по фамилии]
• Сохраните макрос под именем Поиск записей.
Теперь макрос Поиск записей нужно присоединить к свойству После обновления поля со списком. Для этого выполните следующие действия.
Откройте форму Студенты в режиме конструктора.
Для поля Поиск по фамилии (Свободный) вызовите окно свойств.
Щелкните по вкладке События.
Щелкните в строке После обновления, раскройте выпадающий список и выберите макрос Поиск записей.
Для помощи пользователю создайте всплывающую подсказку, в которой при установке указателя мыши на поле Поиск по фамилии будет появляться вспомогательный текст с описанием данного элемента управления:
• Щелкните по вкладке Другие.
Щелкните в строку Всплывающая подсказка и введите текст: Для поиска выберите фамилию студента в списке
Сохраните изменения, закройте окно свойств и перейдите в режим формы. Проверьте, как поле Поиск по фамилии можно использовать для поиска студентов в форме.
Проверка корректности ввода данных с использованием макросов
5. Задайте с помощью макросов ограничение на ввод данных в поле Философия формы Студенты, для того, чтобы пользователь мог ввести в данное поле только значения от 0 до 5.
Последовательность действий:
Откройте форму Студенты в режиме конструктора.
Правой кнопкой мыши щелкните по полю Философия, из контекстного меню выберите строку Свойства.
В окне свойств щелкните по вкладке События, а затем в строке До обновления.
Для задания макроса для этого свойства щелкните по кнопке построителя, в окне Построитель выберите строку Макросы и нажмите ОК.
Выполните команду меню Показать и скрыть – Условия, после чего в окне конструктора макросов появится новый столбец Условия. В этом столбце необходимо задать условие выполнения макрокоманды.
Щелкните в первой строке столбца Условия. Для создания условия нажмите кнопку Построить на панели инструментов.
В окне Построитель выражений создайте следующее условие:
[Forms]![Студенты]![Философия]<0
Нажмите кнопку ОК в окне построителя.
Щелкните в столбце Макрокоманда, раскройте выпадающий список и выберите макрокоманду Сообщение.
В области Аргументы макрокоманды щелкните в строку Сообщение и введите текст:
В поле введено недопустимое значение! Данное поле может содержать только цифры от 0 до5
Щелкните в строке Тип, раскройте выпадающий список и выберите тип значка для вывода в окно сообщения Предупреждающее!.
Щелкните в строке Заголовок и введите текст для вывода в строку заголовка окна сообщения Проверка поля Философия.
Добавьте в макрос макрокоманду ОтменитьСобытие.
Щелкните во второй строке столбца Условие и введите многоточие (...). Многоточие означает, что вторая макрокоманда будет выполняться по такому же условию, что и первая.
Затем щелкните в столбце Макрокоманда. Раскройте выпадающий список и выберите макрокоманду ОтменитьСобытие. Макрокоманда ОтменитьСобытие прерывает событие, вызвавшее макрос (так как в данном случае макрос будет присоединен к событию До обновления, то при выполнении заданного условия обновление будет отменено).
В третьей строке столбца Условие задайте условие:
[Forms]! [Студенты]! [Философия]>5
• В четвертой строке опять используйте макрокоманду ОтменитьСобытие
(в столбце Условие введите многоточие).
Для сохранения макроса нажмите кнопку Сохранить на панели инструментов. Закройте окно конструктора макросов.
Сохраните изменения и закройте окно свойств поля Философия.
Перейдите в режим формы и убедитесь, что при вводе в поле Философия неверного значения выводится предупреждающее окно, и поле не обновляется.
Теперь для поля Философия необходимо создать макрос для задания события После обновления. Для этого нужно выполнить следующие действия.
Откройте форму Студенты в режиме конструктора.
Вызовите окно свойств для поля Философия.
В окне свойств щелкните по вкладке События, а затем в строке После обновления.
Для задания макроса для этого свойства щелкните по кнопке построителя, в окне Построитель выберите строку Макросы и нажмите ОК.
В появившемся окне Сохранение введите название макроса Задать значение и нажмите ОК.
Выполните команду меню Показать или скрыть - Условия.
Щелкните в первой строке столбца Условия. Для создания условия нажмите кнопку Построить на панели инструментов.
В окне Построитель выражений создайте следующее условие: