Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛАБОРАТОРНАЯ РАБОТА 8

.doc
Скачиваний:
79
Добавлен:
11.04.2015
Размер:
5.95 Mб
Скачать

ЛАБОРАТОРНАЯ РАБОТА 8

Цель. Конструирование и использование отчетов. Освоение некоторых возможностей автоматизации управлении базой данных. Создание и применение макросов. Создание пользовательского ниспадающего меню.

Задание 1. Применение отчетов для наглядного отображения данных

1. С помощью Мастера отчетов создайте отчет Ведомость зар­платы на основе запроса Расчет зарплаты. Включите все поля запро­са. Установите группировку по полю Должность. Подведите итоги по полям Оклад, Надбавка, Налог и На руки. Всем денежным полям на­значьте формат денежный.

  1. Составьте для БД Туризм отчет, в котором указаны фамилии сотрудников, а для каждого сотрудника — договоры, которые он за­ключил, сведения о клиенте, стоимости тура. Сохраните отчет с именем «Отчет по сотрудникам».

  2. Создайте отчет «Общая стоимость договоров по странам», в котором будут использованы вычисляемые поля. Для этого следует вы­ полнить указанные ниже действия.

* создайте с помощью Мастера отчет для таблицы Договоры и произведите группировку по полю Код тура.

* откройте этот отчет в режиме Конструктора;

* подведите итог по каждой группе (по каждому туру). Для это­го:

- добавьте область итогов по группе в отчет

Вид Сортиров­ка/Группировка — Примечание группы — Да;

- в появившейся области «Примечания группы Код тура» инстру­ментом вставьте новое поле;

- в свойствах названия поля укажите подпись «Общая сумма до­говоров»;

- в свойствах поля Все Данные с помощью Построить сформи­руйте формулу: =sum([Цена тура]*[Число туристов])

- на этой же вкладке установите Формат поля Основной.

  1. Задайте в макете Цвет текста — яркий.

  2. Просмотрите полученный отчет.

  3. Измените отчет для подсчета общих итогов по всем сотрудникам.

  4. На основе таблицы Сотрудники создайте отчет с группировкой по годам рождения сотрудников: каждое десятилетие должно образовывать группу (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, который используется для импорта, нахо­дится несколько листов с таблицами, то необходимо указать, какую взять за основу для построения таблицы БД;

> далее Мастер импорта попросит уточнить, считать ли пер­вую импортированную строку заголовками таблицы (на этом можно остановиться, нажав Готово);

> разрешите Мастеру импорта самому установить первичный ключ для импортируемой таблицы;

> присвойте новой таблице имя «Адреса».

  1. Проверьте наличие новой таблицы на вкладке Таблицы. Открой­те и просмотрите ее.

  2. Закройте БД.

База данных как источник при слиянии документов в MS Word

  1. Для всех клиентов, которые являются групповыми, нужно под­готовить и разослать письмо с сообщением о новом открывающемся туре в экзотическую страну.

  2. Откройте Word. Создайте в окне следующее письмо:

Адрес: «Адрес»

Телефон: «Телефон»

Получатель «Клиент»

Уважаемый «Контактное лицо»!

Спешим информировать Вас, что наша фирма с 1 июня 2004 года открывает новый маршрут в экзотическую страну Острова Зеленого Мыса. Вас ждут приключения и неожиданности в роскошном при­родном оазисе Африки. Приглашаем Вас принять участие.

Менеджер отдела продаж Петров А.А.

  1. Выделенные и заключенные в кавычки поля должны соответствовать полям таблицы Клиенты.

  2. Отправьте каждому группово­му клиенту созданное письмо, осуще­ствив слияние документов — текста письма и атрибутов адресата, взятых из БД. Для этого в окне Word выполните:

>• Сервис — Письма и рассылки →Мастер слияния;

>• далее нужно следовать указаниям Мастера слияния в нижней части окна;

>• Источник данных: Получить дан­ные Выбор получателей — выбе­рите БД Туризм — в нем таблицу Клиенты;

>• для выбора из таблицы только груп­повых клиентов установите авто­фильтр по Признаку группы;

>• посредством кнопки Другие Эле­менты внесите в письмо на место названий, заключенных в кавычки, соответствующие поля из табли­цы Клиенты;

>• осуществите слияние данных, ис­пользуя кнопку Просмотр писем панели инструментов Слияние.

5. Просмотрите полученные результаты.

Задание 3. Макросы

Создание и редактирование макросов

В процессе работы нужно будет создать и отредактировать сле­дующие четыре макроса. Ниже будет подробно изложена методика создания каждого.

«Autoехес» — запуск исходной заставки с кнопкой для запуска ос­новных объектов БД.

«Завершение» — макрос для выдачи на экран сообщения типа «До свидания!» и выхода из приложения.

«Открыть и расположить» — макрос, позволяющий одновременно открыть несколько объектов базы данных и размещающий их на экра­не в определенном порядке.

«Поиск продавца» — открывающий форму для таблицы «Продав­цы» и выполняющий поиск записи, содержащей определенную фамилию, а также копирующий информацию в Буфер обмена.

  1. Откройте БД Туризм.

  2. Убедитесь, что для всех основных таблиц существуют формы. При отсутствии какой-либо создайте ее любым способом.

  3. Откройте форму, построенную на основе таблицы Договоры.

  4. Для создания макроса Завершение:

Рис.2.1. Аргументы макрокоманды

>• Макросы - Создать

>• Макрокоманда -Сообщение;

>• Макрокоманда — Выход — Сохранить все.

5. Для создания макроса Открыть и расположить:

>• Макросы — Создать;

>• расположите окна БД и макроса без перекрытия командой Ок­но — Слева направо;

>• в окне БД выберите вкладку Формы. Выделите и перетащите форму в окно макроса. Разместите в первой ячейке столбца Макрокоманда. В поле появится макрокоманда Открыть Форму. В столбец Примечание той же строки введите текст: «Открытие формы»;

>• перейдите во вторую строку столбца Макрокоманда. С вклад­ки Таблицы перетащите таблицы Клиенты и Сотрудники в ок­но макроса во вторую и третью ячейки столбца Макрокоман­да. Введите, если нужно, соответствующие примечания;

>• в следующей свободной ячейке столбца Макрокоманда выбери­те команду Выполнить Команду. В области Аргументы макро­команды в поле Команда выберите элемент Рядом Вертикаль­но. В макрос будет включена операция разделения экрана в слу­чае открытия нескольких окон.

  1. Запустите созданный макрос. Закройте все окна, кроме окна БД.

  2. Отредактируйте макрос Открыть и расположить. Для этого на вкладке Макросы выберите его. Войдите в Конструктор и щелкни­те мышью в одном из полей первой строки (или выделите ее целиком), вызовите контекстное меню — Добавить строки. В вставленной пус­той строке в поле Макрокоманда поместите команду Свернуть. Со­храните и запустите макрос.

  1. Создайте макрос Открыть форму Договоры. Проверьте его.

  2. Закройте все окна, кроме окна БД.

Создание группы макросов

1. Создайте группу макросов с общим именем Группа. Включите в эту группу следующие макросы (см. рис.2.2):

Рис. 2.2. Конструктор группы макросов

>• подача сигнала — макрокоманда Сигнал;

>• открытие таблиц (Открыть таблицу) Договоры, Клиенты, Страны, Сотрудники;

>• размещение открытых таблиц на экране в виде горизонтальной мозаики (Выполнить команду — Рядом Вертикально);

>• закрытие всех таблиц (Закрыть);

>• выход из Ассеss (Выход).

2. Проверьте работу каждого из макросов созданной группы.

Связывание макроса с событием

1. Для создания макроса Autoexec:

>• создайте макрос Открытие формы Договоры;

2. Создайте новую форму, включив в нее заголовок «Вас приветст­вует база данных Туризм», какую-либо картинку и кнопку «Открыть форму Договоры»;

>• назначьте для этой кнопки макрос «Открыть форму Договоры» (контекстное меню на кнопке — Свойства — вкладка Собы­тия Нажатие кнопки — имя макроса). Закройте созданную форму и дайте ей название Заставка;

2. Создайте новый макрос с именем Аutоехес, состоящий из сле­дующих макрокоманд:

>• ВыполнитьКоманду — Окно Закрыть;

>• Открыть Форму;

>• Развернуть.

  1. Выполните макрос Завершение.

  2. Загрузите БД Туризм. Проверьте работу макросов Autoexec и Открыть форму Договоры.

  3. Закройте БД. Запустите ее вновь с нажатой клавишей 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. Свойства формы Договоры

  1. Откройте форму Договоры и проверьте все кнопки из группы макросов.

  2. Сохраните файл. Сдайте работу преподавателю.

КОНТРОЛЬНЫЕ ВОПРОСЫ

  1. Понятие отчет и чем отличается от формы?

  2. Способы создания отчетов и их особенности.

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