В попередній вправі при закритті форми Відомість успішності,через яку вводилися дані про оцінки по зданих студентами предметах, було передбачено виконання макросу для видачі на екран звітів про двієчників і відмінників. Доповнимо макрос макрокомандами, які дозволять в діалозі з користувачем визначити необхідність виведення звітів.
1. Використайте як діалогове вікно допоміжну форму, в якій створіть поле із списком значень. Заповніть список іменами звітів, виконання яких може запитати користувач, а також передбачте відмову від виведення звітів. На мал. 7 представлена форма Діалог, в якій поле із списком називається ПолеСоСписком0.
2. Змініть групу макросів Списки успішності: макрос, як показано на мал. 8. Виділення макрокоманд відкриття звітів в окремий макрос Звіт1 дозволяє користувачеві організувати роботу з формою Діалог.
Увага! Текстові константи, з якими порівнюються введені значення, заключаються в лапки.
Мал. 8.
3. У формі Діалогдля елемента ПолеСоСписком0виберіть в рядку властивості После обновления значення Списки успішності.Звіт1.
4. Відкрийте форму Відомість успішності,введіть декілька записів про оцінки, одержані студентами, у тому числі двійки і п'ятірки.
5. Закрийте форму. З'явиться вікно форми Діалог.
6. Для перевірки працездатності макросу Звіт1виберіть у формі Діалогодне із значень.
7. Для роздруку звіту у будь-який час відкрийте форму Діалог,виберіть потрібний звіт в списку, тоді макрос Звіт1виведе вибраний звіт на екран.
8. Для виведення питань про необхідність друкувати звіти можна використовувати функцію MsgBox(). Замініть макрокоманди в макросі Звіт1так як показано на мал. 9.
9. Функція MsgBox() виведе на екран вікно, що містить повідомлення, почекає поки користувач натисне кнопку і поверне значення, що вказує, на яку кнопку він натиснув. Текст повідомлення формується першим аргументом функції, тип вікна, число і назви кнопок — другим аргументом, текст заголовка вікна — третім аргументом. Аргументи приводять до виведення вікна.
10. Функція MsgBox() повертає значення 1 при натисненні у вікні повідомлення кнопки Да і значення 2 при натисненні кнопки Нет.