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

Информатика_Семестр1_Практическая3

.pdf
Скачиваний:
14
Добавлен:
05.06.2015
Размер:
1.18 Mб
Скачать

Рис. 1.7 Форма AgntTur.

1.4. ПОДЧИНЁННЫЕ ФОРМЫ

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

Основная форма может быть только простой, т.е. содержать информацию только об одной записи. Подчинённая форма может быть и простой, и ленточной, и табличной. Наиболее удобное сочетание: основная форма – простая, подчинённая – ленточная.

Существует несколько способов создания подчинённых форм, но, в любом случае, кнопка «Мастер» на Панели инструментов должна быть включена:

1.создаётся главная форма / из окна Базы данных подчинённая форма перетаскивается в главную.

2.Создаётся главная форма / из окна Базы данных подчинённая таблица перетаскивается в главную.

3.Создаётся форма по подчинённой таблице / cоздаётся главная форма и в ней размещается элемент Подчинённая форма / запускается мастер подчинённых форм, который просит выбрать таблицу или форму для подчинения.

Если формы созданы по связанным таблицам, то необходимо указать только имя подчиненной формы. Если формы ещё не связаны, то надо указать: имя подчинённой формы; основное поле – имя ключевого поля главной таблицы; подчинённое поле – имя поля связи подчинённой таблицы.

Для создания подчинённой формы по таблицам Tur и Agnt воспользуемся 3-им способом:

11

по таблице Agnt cоздаём Автоформой ленточную форму с именем

Agnt;

в режиме Конструктора в области примечаний этой формы создаем вычисляемое поле с именем Sk для подсчета общего количества проданных путёвок, помещая в него выражение (=Sum(KolPt)), где KolPt – имя поля этой формы;

по таблице Tur создаём Автоформой простую форму;

в режиме Конструктора редактируем созданную форму. В область заголовка помещаем надпись ТУРЫ - АГЕНТСТВА, изменяем подписи полей;

помещаем в область данных элемент Подчинённая форма;

. На запрос мастера указываем имя подчиненной формы Agnt, и даём элементу подчинённая форма имя AgntP;

размещаем в области данных основной формы свободное поле для подсчёта общей стоимости проданных путёвок на конкретный тур, помещая в него выражение (=AgntP!Sk*Cen), где AgntP!Sk –обращение к вычисляемому полю подчинённой формы.

Вид созданной формы AgntTur в режиме Конструктора на рисунке 1.8 ,

врежиме Формы – на рисунке 1.9.

Рис. 1.8 Форма AgntTur в режиме Конструктора.

Рис. 1.9 Форма AgntTur в режиме формы.

1.5. ИСПОЛЬЗОВАНИЕ ЭЛЕМЕНТОВ ФОРМЫ КНОПКА И ПОЛЕ СО СПИСКОМ

Использование этих элементов рассмотрим на примере решения следующей задачи: Для выбираемой страны вывести все имеющиеся туры и самый дешёвый тур.

Для решения этой задачи создадим с помощью Конструктора 3 формы: Vst – форма для выбора названия интересующей нас страны, TurSt – форма для вывода всех туров по этой стране, TurMin – форма для вывода самого дешёвого тура.

Для выбора страны в форму Vst поместим элемент Поле со списком с именем Ps. В свойство источник данных для этого поля запишем запрос: SELECT DISTINCT Str FROM Tur;, который выводит список уникальных стран. Поместим на форму 2 Кнопки.

При создании элемента Кнопка, запускается Мастер создания кнопок, который определяет действия, которые будут выполняться при её нажатии. Для того, чтобы при нажатии на первую кнопку открывалась форма TurSt выбираем: категория действия – работа с формой, действие – открыть форму, имя формы TurSt (подпись на кнопке: все туры по стране). Для второй кнопки: имя открываемой формы – TurMin (подпись на кнопке:

самый дешёвый тур).

Вид формы VSt в режиме конструктора представлен на рисунке 1.10. Вид в режиме формы с открытым полем со списком для выбора страны представлен на рисунке 1.11.

13

Рис. 4.10 Форма Vst в режиме Конструктора

Рис. 1.11 Форма Vst в режиме Формы

Для вывода всех туров по выбранной стране создаём ленточную форму TurSt на основе запроса ZSt:

SELECT Sht,KolD,Cen

FROM Tur

WHERE (Str=Forms!VSt!Ps);

Для вывода выбранной страны, помещаем на форму поле, с ссылкой на поле формы Vst (=Forms!Vst.Ps).

Для вывода самого дешёвого тура по выбранной стране создаём с помощью конструктора форму TurMin на основе запроса ZMin:

SELECT Cen AS MSt,Sht

FROM Tur

WHERE (Str=Forms!VSt!Ps)) AND Cen=(SELECT MIN(Cen) FROM

Tur));.

Этот запрос возвращает минимальную цену на путёвки и шифр соответствующего тура для страны, название которой выбрано в поле со списком Ps формы VSt.

Так как форма создана на основе запроса, на ней размещены два поля Mst и Sht, в которые выводятся результаты этого запроса.

Для возвращения в форму Vst помещаем на форму кнопку.Формы TurSt и MinTur в режиме конструктора представлены на рисунке 1.12. Формы VSt, TurSt и MinTur в режиме формы – на рисунке 1.13

.

Рис. 1.12. Формы TurSt и TurMin в режиме конструктора.

Рис.1.13 Формы VSt, TurSt, TurMin

1.6. ФОРМА ДЛЯ МОДИФИКАЦИИ ТАБЛИЦ

Модифицировать таблицы можно непосредственно в режиме таблица, через создаваемый запрос, в форме, если она создана на основе этой таблицы. А можно создать независимую форму, предусматривающую любую модификацию. На рисунке 1.14 представлена форма TurMod, предназначенная для добавления, изменения, удаления записей таблицы Tur. На форме четыре поля, в соответствии с количеством полей таблицы Tur, для ввода значений, которые должны добавляться, изменяться или удаляться. Имена полям даны такие же, как имена полей таблицы (Sht, Str, KolD, Cen).

На форме размещены три кнопки для запуска запросов TurInsert, TurUpd, TurDel. Для этого при создании кнопок мастером выбраны: категория – разное, действие – выполнение запроса, указан соответствующий

15

запрос и подписи для кнопок. Каждый запрос ссылается на поля формы

TurMod.

Запрос TurInsert:

INSERT INTO Tur

SELECT Forms!TurMod.Sht AS Sht, Forms!TurMod.Str AS Str, Forms!TurMod.KolD AS KolD, Forms!TurMod.St AS St;

Запрос TurUpd:

UPDATE Tur SET KolD = Forms!TurMod.KolD, Cen = Forms!TurMod.St WHERE Sht=Forms!TurMod.Sht;

Запрос TurDel:

DELETE *

FROM Tur

WHERE Sht=Forms!TurMod.Sht;

Рисунок 1.14 Форма TurMod для модификации таблицы

1.7. ФОРМЫ – ДИАГРАММЫ Диаграмма – это графическая интерпретация табличной информации.

Диаграмма позволяет наглядно отображать распределение текущих значений или итоговых вычислений, показывать отношения между ними. Диаграммы строятся по таблицам, по итоговым или перекрёстным запросам. Для представления одной и той же информации можно использовать диаграммы разных типов ( гистограмма, круговая, кольцевая, линейная и т. д. )

Круговая диаграмма позволяет оценивать частные значения (частные итоги ) по отношению к общим итогам. Эта диаграмма может отображать только одну категорию данных.

Кольцевая диаграмма, как и круговая, отображает отношения частей к целому, но допускает несколько категорий данных.

Графическая диаграмма отображает изменение значений во времени, показывая только соотношения этих значений.

Гистограмма (столбчатая диаграмма) отображает изменения значений во времени или показывает относительные значения разных элементов. Может содержать несколько категорий данных. Категории располагаются по горизонтали, изменяющиеся значения – по вертикали.

Правильно выбранный тип диаграммы позволяет наглядно представить значения выбранных полей.

Создадим по таблице Agnt круговую диаграмму для отображения отношения суммарного количества проданных путёвуок на каждый тур к общему количеству проданных путёвок. Диаграмма создаётся мастером в интерактивном режиме:

в окне Базы данных выбираем – Форма / создать;

вид – Диаграмма, выбираем таблицу по данным которой строим диаграмму (Agnt);

выбираем поля по которым строится диаграмма (Sht – шифр тура, KolPt – количество проданных путёвок);

тип – круговая;

задаём подпись – Продажа путёвок на туры.

Мастер сам строит запрос, суммирующий путёвки проданные всеми агентствами. Построенная таблица и диаграмма представлена на рисунке 1.15.

Рис.1.15 Круговая диаграмма по таблице Agnt.

По таблице Firm построим гистограмму, в которой будет отражаться годовой выпуск каждого изделия каждой фирмой. Последовательность действий та же, что и в предыдущем примере, но здесь надо правильно выбрать расположение полей по осям гистограммы (рисунок 1.16 ). Полученная диаграмма представлена на рисунке 1.17.

17

Рис. 1.16 Размещение полей таблицы по осям гистограммы.

Выпуск изделий по фирмам

2500

 

 

 

 

видио

 

 

 

 

 

2000

 

 

 

 

музцентр

 

 

 

 

 

1500

 

 

 

 

пылесос

 

 

 

 

 

1000

 

 

 

 

телевизор

 

 

 

 

 

500

 

 

 

 

телефон

 

 

 

 

 

0

 

 

 

 

утюг

10

20

30

40

50

 

Рис. 1.17 Гистограмма по таблице Firm.

1.8. ФОРМЫ – МЕНЮ

После того, как созданы все требуемые объекты приложения (таблицы, запросы, формы, отчёты), они объединяются посредством специальной формы

Меню, которая замещает основное меню окна базы данных. На форме – Меню отображается перечень всех этих объектов и предлагается способ выбора одного из них.

Для этих целий в Access существует специальный вид - Кнопочная форма. Кнопочная форма – это обыкновенная форма с кнопками, обеспечивающая возможность открытия других форм, отчётов, печать отчётов. Такую форма можно создать и самим, связав каждую кнопку с запуском макроса (см. раздел 3 ), программы на VBA (в данном пособии эта тема не рассматривается) или описать действия в свойстве этой кнопки. Но в Access существует специальное средство, облегчающее создание таких форм – Диспетчер кнопочных форм. С помощью Диспетчера можно создать форму с количеством кнопок не более восьми. Если необходимое количество превышает восемь, можно создать Главную форму -меню, и из неё переходить к формам – Подменю.

Чтобы связать Главную кнопочную форму с открытием Базы данных

необходимо в меню Access выбрать команду Сервис / Параметры запуска в области Форма указать имя этой формы.

Редактирование созданных форм осуществляется в режиме Конструктора.

Если мы хотим объеденить примеры данного пособия в один проект и создать формы – Меню для работы с ними, то создадим сначала 2 формы (МенюFirm, МенюTur) для работы с данными таблицы Firm и для работы с данными таблиц Tur и Agnt. В этих формах, с помощью мастера, создадим кнопки, указав в категории – Работа с формой, действие – Открытие формы и для каждой из них укажим имена форм, которые должны открываться. Отредактируем созданные формы, поместив на кнопки соответствующие подписи, снабдив их комментариями.

Для создания Главной кнопочной формы можно воспользоваться Диспетчером и выполнив следующую последовательность действий:

в меню Access выбрирать Сервис / Служебные программы / Настройки / Диспетчер кнопочных форм;

в открывшемся окне диспетчера кнопочных форм щёлкнуть на кнопке Изменить;

для добавления элемента (новой кнопки) щёлкнуть кнопку Создать;

в поле текст ввести имя нового элемента, в поле команда выбрать -

Открыть форму, ОК;

Действия, начиная со второго, повторяем для каждого создаваемого элемента кнопочной формы.

Можно и форму основного меню создать самим, также как создавали формы Меню-Firm и Меню-Tur. Созданные формы представлены на рисунке

1.18.

Рис. 1.18 Формы-Меню

19

Глава 2. Отчёты

Отчёт это объект Базы данных Access. Между формами и отчётами много общего, но, если форма создаётся для просмотра данных на экране, то отчёт, в основном, для вывода данных на печать. В отчёте, также как в форме, можно создавать вычисляемые поля, но отчёты позволяют ещё обобщать данные по группам и проводить по ним итоговые расчёты. Так же, как и формы, отчёты могут быть созданы на основе одной таблицы (запроса) и на основе нескольких таблиц (запросов).

2.1 СОЗДАНИЕ ОТЧЁТА

Существует несколько средств для создания отчётов:

автоотчёт;

мастер отчётов;

конструктор отчётов. 2.1.1 Автоотчёт

Автоотчёт создаётся на основе только одной таблицы или запроса, и вид его может быть в столбец или ленточный.

Последовательность действий при создании автоотчёта:

в окне Базы данных выбрать – отчёты – создать. Появляется окно

«Новый отчёт»;

в меню выбрать вид автоотчёта;

в списке источников данных выбрать нужную таблицу или запрос;

ОК – перед нами отчёт в режиме просмотра.

На рисунке 2.1 представлен созданный с помощью автоотчёта отчёт по таблице Firm.

Рис. 2.1 Автоотчёт в столбец

Созданный таким образом отчёт можно отредактировать в Конструкторе.

2.1.2. Мастер отчётов

С помощью Мастера отчёт может быть создан на основе одной или нескольких таблиц или запросов. Последовательность действий при создании такого отчёта:

в окне Базы данных выбрать – отчёты – создать. Появляется окно «Новый отчёт»;