Практическая работа №19. Тема: Макросы, связанные с событиями форм»
Выполнение работы:
Создадим макрос, подтверждающий удаление с помощью события Удаление.
1. Создайте макрос, добавьте столбец Условие в окно макроса и введите в его первую ячейку
MsgBox("Вы действительно хотите удалить запись";273;"удаление")<>1
для вывода предупреждающего диалогового сообщения, если пользователь нажимает на Отмена(1), то события должно отмениться, если да(0), то выполниться.
2. Выберите макрокоманду ОтменитьСобытие.
3. Во вторую строку столбца Условие введите …(троеточие используется для указания условия выполнения нескольких макрокоманд).
4. Выберите макрокоманду ОстановитьМакрос
5. В третью строку введите макрокоманду КомандыКлавиатуры, в аргумент Клавиши введите {Enter}.
6. Сохраните макрос под именем Удаление.
7. Откройте форму Заказы в режиме Конструктор и задайте для события Удаление макрос Удаление.
8. Проверьте работу макроса, для этого перейдите в режим формы и выберите команду Правка, Удалить запись.
Создадим макрос, выполняющий фильтрацию данных на форме с помощью группы выключателей.
1. Создайте форму в режиме Конструктор по таблице Клиенты. Задайте режим формы - Ленточный, используя свойство формы Режим по умолчанию.
2. В область данных добавьте поля Название, ОбращатьсяК, телефон, факс, надписи полей вырежете, и добавьте в заголовок формы. Расположите элементы по горизонтали соответственно.
3. В примечание формы добавьте без мастера группу переключателей, задайте ей имя - Отбор.
4. Добавьте в группу 5 выключателей, задайте им подписи - A, B, C, Dи Все (значения параметров 1,2, 3, 4 и 5 соответственно).
5. Сохраните форму под именем Телефоны клиентов.
6. Создайте новый макрос, добавьте столбец Условие.
7. Введите первое условие для кнопки с буквой А - [отбор]=1, выберите соответствующую макрокоманду - ПрименитьФильтр, в аргументы условия отбора фильтра введите
[название] Like "a*", для выбора всех названий, начинающихся на А.
8. Введите соответствующие макрокоманды для остальных букв.
9. Для кнопки Все выберите макрокоманду ПоказатьВсеЗаписи.
10. Сохраните макрос под именем Телефоны.
11. Откройте форму Телефоны клиентов в режиме Конструктор, для события После обновления группы Отбор задайте макрос Телефоны. Проверьте работу макроса.
Макросы, связанные с событиями отчетов.
Создадим макрос, выделяющий данные в отчете.
1. Создайте Автоотчет: ленточный по таблице Заказано. Добавьте под полем Количество линию и назовите её Линия. Сохраните отчет под именем Заказано.
2. Создайте новый макрос. В столбец Условие введите [количество]>20, выберите соответствующую макрокоманду ЗадатьЗначение, выберите аргумент Элемент и введите [линия].[Visible], выберите аргумент Выражение , введите значение Да.
3. В следующую строку Условия введите выражение: Not [количество]>20, выбрите макрокоманду ЗадатьЗначение, выберите аргумент Элемент и введите [линия].[Visible], выберите аргумент Выражение, введите значение Нет.
4. Сохраните макрос под именем Для отчета.
5. Откройте отчет Заказано в режиме Конструктор и для события области данных Форматирование выберите макрос Для отчета.
6. Сам.работа. создайте макрос для этого же отчета (добавьте его в предыдущий!), выделяющий полужирным цены, превышающие значения 40000 (используя свойство FontBoldполя цена).
Присоединение макросов.
Создадим макрос, открывающий формы «Заказы» и «Клиенты», выбрав для этого переключатель:
8. Создайте новую форму «Главная2», добавьте в неё группу из 2х переключателей (без помощи Мастера) и кнопку.
9. Задайте надпись для группы –Открытие форм.
10. Задайте надпись для 1го переключателя - Заказы, для 2го –Клиенты.
11. Задайте подпись для кнопки -Открыть.
12. Создайте новый макрос «Для главной2 »
13. Добавьте в макрос макрокоманды –открыть форму «Заказы» и «Клиенты».
14.В столбец Условие и введите для первого условия: [Forms]![главная2]![группа0]=1
для второго условия: [Forms]![главная2]![группа0]=2
Для работы макроса откройте форму в режиме Конструктор и на вкладке События свяжите нажатие кнопки с макросом «Для главной2»