ЛАБОРАТОРНАЯ РАБОТА 8
Цель. Конструирование и использование отчетов. Освоение некоторых возможностей автоматизации управлении базой данных. Создание и применение макросов. Создание пользовательского ниспадающего меню.
Задание 1. Применение отчетов для наглядного отображения данных
1. С помощью Мастера отчетов создайте отчет Ведомость зарплатына основе запроса Расчет зарплаты.Включите все поля запроса. Установите группировку по полю Должность.Подведите итоги по полям Оклад, Надбавка, Налог и На руки.Всем денежным полям назначьте формат денежный.
2.Составьте для БД Туризмотчет, в котором указаны фамилии
сотрудников, а для каждого сотрудника — договоры, которые он заключил, сведения о клиенте, стоимости тура. Сохраните отчет с
именем «Отчет по сотрудникам».
3.Создайте отчет «Общая стоимость договоров по странам», в
котором будут использованы вычисляемые поля. Для этого следует вы
полнить указанные ниже действия.
* создайте с помощью Мастераотчет для таблицы Договорыи произведите группировку по полю Код тура.
* откройте этот отчет в режиме Конструктора;
* подведите итог по каждой группе (по каждому туру). Для этого:
- добавьте область итогов по группе в отчет
Вид— Сортировка/Группировка — Примечание группы — Да;
- в появившейся области «Примечания группы Код тура» инструментом вставьте новое поле;
- в свойствах названия поля укажите подпись «Общая сумма договоров»;
- в свойствах поля Все— Данныес помощью Построитьсформируйте формулу: =sum([Цена тура]*[Число туристов])
- на этой же вкладке установите Форматполя Основной.
4.Задайте в макете Цвет текста— яркий.
5.Просмотрите полученный отчет.
6.Измените отчет для подсчета общих итогов по всем сотрудникам.
7.На основе таблицы Сотрудникисоздайте отчет с группировкой
по годам рождения сотрудников: каждое десятилетие должно образовывать группу (1950-1959, 1960-1969 и т.д.).
Для этого нужно задать группировку по полю Дата рожденияи установить свойства: группировка — по годам, интервал — 10. В разделе Область данных разместить все поля и вычисляемое поле
Возраст-=Round(((Date()-[ДатаРождения])/365)).
В разделе Заголовок группыпоместить:
Годы рождения с [МинГр] по [МаксГр],
где «Годы рождения с» и «по» — надписи
[МинГр] и [МаксГр] — вычисляемые поля:
[МинГр]=(Min(DatePart(«уууу»;[ДатаРождения]))/10)*10
DatePart((«уууу»;[ДатаРождения]) — возвращает год даты,
Min() — возвращает минимальный год рождения в группе.
Целочисленное деление и последующее умножение на 10 дает значение года, кратное 10.
[МаксГр] =[МинГР]+9
8. Создайте почтовые наклейки на основе таблицы Клиенты.
Включите в наклейки поля Фамилияи Адресклиента, а также произвольный текст и оформление.
Задание 2.Экспорт и импорт данных
Экспорт данных в Ехсеl
1.В БД Туризмвыделите таблицу Сотрудники.
2.Экспортируйте эту таблицу в файл типа Ехсе1. Для этого в команде Файл →Экспортв поле Тип файлавыберите из предлагаемого
списка «Microsoft Excel».
3.Запустите Excel и откройте полученный файл. При необходимости поменяйте шрифт. Обратите внимание на наличие установленного системой примечания в первой ячейке. Измените подпись рабочего листа на «Адреса».
Импорт данных в Access
1.Создайте в Excel на основе таблицы Адресановую таблицу Картотека адресов,исключив из таблицы Адресаполя Код сотрудника,
Должность, Размер оклада, Дата Найма.Сохраните ее в файле с
именем Address.
2.Импортируйте ее (создайте на ее основе новую таблицу) в БД
Туризм:
> откройте БД Туризм;
> Файл → Внешние данные → Импорт;
> если в файле Excel, который используется для импорта, находится несколько листов с таблицами, то необходимо указать, какую взять за основу для построения таблицы БД;
> далее Мастер импортапопросит уточнить, считать ли первую импортированную строку заголовками таблицы (на этом можно остановиться, нажав Готово);
> разрешите Мастеру импортасамому установить первичный ключ для импортируемой таблицы;
> присвойте новой таблице имя «Адреса».
3.Проверьте наличие новой таблицы на вкладке Таблицы.Откройте и просмотрите ее.
4.Закройте БД.
База данных как источник при слиянии документов в MS Word
1.Для всех клиентов, которые являются групповыми, нужно подготовить и разослать письмо с сообщением о новом открывающемся туре в экзотическую страну.
2.Откройте Word. Создайте в окне следующее письмо:
Адрес: «Адрес» Телефон: «Телефон» Получатель «Клиент» Уважаемый «Контактное лицо»! Спешим информировать Вас, что наша фирма с 1 июня 2004 года открывает новый маршрут в экзотическую страну Острова Зеленого Мыса. Вас ждут приключения и неожиданности в роскошном природном оазисе Африки. Приглашаем Вас принять участие. Менеджер отдела продаж Петров А.А. |
3. Выделенные и заключенные в кавычки поля должны соответствовать полям таблицы Клиенты.
4. Отправьте каждому групповому клиенту созданное письмо, осуществив слияние документов — текста письма и атрибутов адресата, взятых из БД. Для этого в окне Word выполните:
>• Сервис — Письма и рассылки →Мастер слияния;
>• далее нужно следовать указаниям Мастера слияния в нижней части окна;
>• Источник данных: Получить данные — Выбор получателей— выберите БД Туризм— в нем таблицу Клиенты;
>• для выбора из таблицы только групповых клиентов установите автофильтр по Признаку группы;
>• посредством кнопки Другие Элементывнесите в письмо на место названий, заключенных в кавычки, соответствующие поля из таблицы Клиенты;
>• осуществите слияние данных, используя кнопку Просмотр писемпанели инструментов Слияние.
5. Просмотрите полученные результаты.
Задание 3.Макросы
Создание и редактирование макросов
В процессе работы нужно будет создать и отредактировать следующие четыре макроса. Ниже будет подробно изложена методика создания каждого.
«Autoехес» — запуск исходной заставки с кнопкой для запуска основных объектов БД.
«Завершение» — макрос для выдачи на экран сообщения типа «До свидания!» и выхода из приложения.
«Открыть и расположить» — макрос, позволяющий одновременно открыть несколько объектов базы данных и размещающий их на экране в определенном порядке.
«Поиск продавца» — открывающий форму для таблицы «Продавцы» и выполняющий поиск записи, содержащей определенную фамилию, а также копирующий информацию в Буфер обмена.
1.Откройте БД Туризм.
2.Убедитесь, что для всех основных таблиц существуют формы. При отсутствии какой-либо создайте ее любым способом.
3.Откройте форму, построенную на основе таблицы Договоры.
4.Для создания макросаЗавершение:
Рис.2.1. Аргументы макрокоманды
>• Макросы- Создать
>• Макрокоманда -Сообщение;
>• Макрокоманда — Выход — Сохранить все.
5. Для создания макроса Открыть и расположить:
>• Макросы — Создать;
>• расположите окна БД и макроса без перекрытия командой Окно — Слева направо;
>• в окне БД выберите вкладку Формы.Выделите и перетащите форму в окно макроса. Разместите в первой ячейке столбца Макрокоманда.В поле появится макрокоманда Открыть Форму.В столбец Примечаниетой же строки введите текст: «Открытие формы»;>• перейдите во вторую строку столбца Макрокоманда.Свкладки Таблицыперетащите таблицы Клиенты и Сотрудникив окно макроса во вторую и третью ячейки столбца Макрокоманда.Введите, если нужно, соответствующие примечания;
>• в следующей свободной ячейке столбца Макрокомандавыберите команду Выполнить Команду.В области Аргументы макрокомандыв поле Командавыберите элемент Рядом Вертикально.В макрос будет включена операция разделения экрана в случае открытия нескольких окон.
6.Запустите созданный макрос. Закройте все окна, кроме окна БД.
7.Отредактируйте макрос Открыть и расположить.Для этого на вкладке Макросывыберите его. Войдите в Конструктори щелкните мышью в одном из полей первой строки (или выделите ее целиком), вызовите контекстное меню — Добавить строки.В вставленной пустой строке в поле Макрокомандапоместите команду Свернуть.Сохраните и запустите макрос.
8.Создайте макрос Открыть форму Договоры.Проверьте его.
9.Закройте все окна, кроме окна БД.
Создание группы макросов
1. Создайте группу макросов с общим именем Группа.Включите в
эту группу следующие макросы (см. рис.2.2):
Рис. 2.2. Конструктор группы макросов
>• подача сигнала — макрокоманда Сигнал;
>• открытие таблиц (Открыть таблицу) Договоры, Клиенты, Страны, Сотрудники;
>• размещение открытых таблиц на экране в виде горизонтальной мозаики (Выполнить команду — Рядом Вертикально);
>• закрытие всех таблиц (Закрыть);
>• выход из Ассеss (Выход).
2. Проверьте работу каждого из макросов созданной группы.
Связывание макроса с событием
1. Для создания макроса Autoexec:
>• создайте макрос Открытие формы Договоры;
2. Создайте новую форму, включив в нее заголовок «Вас приветствует база данных Туризм»,какую-либо картинку и кнопку «Открыть форму Договоры»;
>• назначьте для этой кнопки макрос «Открыть форму Договоры» (контекстное меню на кнопке — Свойства— вкладка События — Нажатие кнопки— имя макроса). Закройте созданную форму и дайте ей название Заставка;
2. Создайте новый макрос с именем Аutоехес,состоящий из следующих макрокоманд:
>• ВыполнитьКоманду — Окно Закрыть;
>• Открыть Форму;
>• Развернуть.
2.Выполните макрос Завершение.
3.Загрузите БД Туризм.Проверьте работу макросов Autoexecи Открыть форму Договоры.
4.Закройте БД. Запустите ее вновь с нажатой клавишей SН1FТ.
При этом макрос Autoexec не выполняется.
Рис. 2.3. Форма заставка
5. Создайте и выполните макрос «Поиск договора». Для этого:
>• откройте новое окно макроса и перетащите форму Договорывпервую строку;
>• во второй строке выберите макрокоманду К элементу Управления.Для аргумента «Имя элемента» установите значение Код клиента.Так задается поле, среди значений которого будет осуществляться поиск;
>• в следующей строке макроса выберите макрокоманду НайтиЗапись.Для аргумента «Образец поиска» задайте любой код клиента. Остальные аргументы оставьте без изменения.
>• сохраните макрос под именем «Поиск договора» и запустите его. В результате программа откроет форму, выполнит поиск и пометит найденное значение. Если заданное значение не будет найдено, то маркированным останется первый элемент (первая запись) формы.
Связывание макроса с кнопкой
1.Создайте три макроса для открытия форм Клиенты, Сотрудники, Страны.
2. Откройте форму Договорыи создайте в ней несколько кнопок для открытия всех форм БД. Каждую кнопку снабдите понятным названием или изображением.
3. Свяжите каждую кнопку с соответствующим макросом.
4. Проверьте все кнопки.
5. Создайте кнопку на форме Договорыс изображением самолета.
Свяжите ее с макросом Завершение.Снабдите кнопку всплывающей
подсказкой «Завершение работы».
Выполнение макроса с условиями
Создайте макрос, который каждый раз после ввода в форму Договорысведений о новом групповом договоре должен выводить на экран сообщение о том, что клиент является групповым. Порядок выполнения задания:
1. Создайте новый макрос и присвойте ему имя Групповой клиент:
>• если столбец Условиене отображается на экране, щелкните на кнопке Условиена панели инструментов или выполните команду Вид →Условие;
>• в первую ячейку столбца условий введите с помощью команды Построитьлогическое выражение [Forms]![Договор]![ Число туристов]>1;
>• в той же строке, но в столбце Макрокомандавыберите макрокоманду Сообщениеи задайте значение «Групповой клиент» для аргумента «Сообщение». Именно эта фраза отобразится на экране в окне сообщения при выполнении заданного условия. Для аргумента «Тип» установите значение «Информационное». При этом в окне сообщения, кроме текста, появится значок с изображением литеры «i» (стандартный вариант в Windows при выдаче сообщений), в поле Заголовоквведите — «Внимание!»;
>• сохраните созданный макрос с именем Групповой клиент.
2. Свяжите макрос с формой Договоры:
>• откройте форму Договорыв режиме Конструктора;
Рис.2.4. ФормаДоговоры в режиме Конструктора
>• откройте окно свойств формы, выполнив двойной щелчок в указанной на рисунке области;
>• найдите на вкладке Событияполе После обновленияи выберите в списке макрос Групповой клиент;
>• закройте окно свойств формы и перейдите в режим заполнения;
>• перейдите к новой записи и заполните ее (в поле Число туристоввведите любое число больше 1. СООБЩЕНИЕ ПОЯВИТСЯ ТОЛЬКО ПОСЛЕ ЗАВЕРШЕНИЯ РАБОТЫ С ЗАПИСЬЮ.
3. Закройте форму Договоры.
Комбинации клавиш для запуска макросов
1.Назначьте для открытия таблицы Договоры— СТRL + нуль, для открытия формы Сотрудники— СТRL+F1.
2. Сохраните файл.
Создание на основе макросов меню, контекстных меню и панелей инструментов
На основе группы макросов Группасоздайте меню, панель инструментов и контекстное меню.
Свяжите появление меню (контекстного меню или панели инструментов) с активизацией формы Договоры(«Строка меню» («Панель
инструментов», «Контекстные меню» в Свойствах) — Группа).
Рис.2.5. Свойства формы Договоры
3. Откройте форму Договорыи проверьте все кнопки из группы
макросов.
4. Сохраните файл. Сдайте работу преподавателю.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1.Понятие отчет и чем отличается от формы?
2.Способы создания отчетов и их особенности.
Для чего нужны макросы?