ЛАБОРАТОРНАЯ РАБОТА 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.Способы создания отчетов и их особенности.

Для чего нужны макросы?