Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_раб_базы_данных.doc
Скачиваний:
54
Добавлен:
21.11.2019
Размер:
2.59 Mб
Скачать

Лабораторная работа № 8 Создание многотабличных форм

Теоретические сведения

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

Существуют следующие способы создания многотабличной формы.

1. Явное включение подчиненной формы. Подчиненная форма строится только на основе подчиненной таблицы по отношению к таблице, на основе которой построена основная часть формы.

2. Вызов связанной формы по кнопке. Созданные мастером подчиненные формы вызываются кнопкой. Открывающееся содержимое связанной формы синхронизировано с текущей записью формы. Этот способ удобен в сложных формах, а также когда пользователю не нужно постоянно видеть связанные данные.

3. Многотабличная форма без подчиненных и связанных форм. Создается, если необходимо отображать записи подчиненной таблицы, дополненные полями из одной или нескольких главных таблиц. Источником данных, выводимых в форме, является запись подчиненной таблицы. Форма отображает поля из записи подчиненной таблицы и поля из единственной связанной с ней записи главной таблицы.

4. Многотабличная форма на основе запроса. Для запроса, в котором записи созданы за счет объединения полей связанных записей главной и подчиненных таблиц, мастер строит форму так, как если бы ему были заданы исходные таблицы.

Для создания формы в окне БД надо выбрать закладку Форма и нажать клавишу Создать. В окне Новая форма выбрать режим Мастер форм. Можно в качестве источника данных основной части формы выбрать из списка таблицу или запрос. В окне Создание форм выбираются таблицы и поля, включаемые в форму. Во втором окне выбирается вариант создания формы. Для этого в рамке Выберите тип представления данных выделяют таблицу, являющуюся источником основной части формы. Таблица, выбранная в окне Новая форма, уже выделена.

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

  • для непосредственного включения подчиненной формы надо отметить Подчиненные формы (рис. 38);

Рис. 38. Создание многотабличной формы с подчиненной формой

  • для включения кнопки, вызывающей связанную форму, надо выбрать Связанные формы (рис. 39).

Рис. 39. Создание многотабличной формы со связанной формой

2. Если таблица – источник основной части формы является подчиненной по отношению к другой таблице, тоже выбранной для формы, то создаваемая многотабличная форма не будет включать подчиненную форму. Однако эта форма будет содержать поля из главной таблицы. В окне Создание форм автоматически будет установлен тип формы Одиночная форма. Далее выбирается вид формы – В один столбец, Ленточный или Табличный.

В следующем окне выбирается стиль оформления. В последнем окне можно отредактировать заголовки форм и выбрать дальнейшие действия – Открытие формы для просмотра или ввода данных либо Изменение макета формы. В первом случае автоматически выводится форма с данными (рис. 40).

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

Щелкнем на пиктограмме Поле панели элементов и разместим это поле в области данных подчиненной формы. Вызовем окно свойств поля наименования и для параметра Надпись введем значение Сумма. В поле Данные следует поместить формулу вычисления содержимого. Формула представляет собой комбинацию из операторов и имен полей. Начинаться формула должна со знака равенства, а каждое имя поля должно заключаться в квадратные скобки. Чтобы вычисления проводились корректно, имя поля в форме должно совпадать с соответствующим именем поля в таблице. В выражениях применяются только поля, определенные при создании таблицы и использованные при проектировании формы. Поле, добавленное задним числом, не может привлекаться к вычислениям.

Рис. 40. Многотабличная форма, включающая подчиненную форму

Чтобы получить сумму по каждому изделию, необходимо перемножить значения полей Цена и Количество отгруж. Формулу можно ввести с клавиатуры в поле Данные, либо последовательно выбрать отдельные поля из списка полей. Можно воспользоваться построителем выражений, который вызывается кнопкой, расположенной справа от поля Данные.

Далее необходимо вычислить итог в подчиненной форме и отобразить его в главной форме. Главная форма, основанная на таблице Накладная, ограничивает подчиненную форму записями, относящимися к текущей накладной. Подчиненная форма, основанная на таблице Строка накладной, вычисляет итог, но не отображает его. Затем главная форма отображает итог. Для расчета суммы отгрузки следует добавить поле Общая сумма в область примечаний подчиненной формы и ввести в ячейку свойства Данные выражение = Sum ( [Количество] * [Цена] )

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

Технология создания целостной БД может строиться на использовании экранных форм, обеспечивающих корректный ввод взаимосвязанных данных. Такие формы соответствуют формам первичных документов. Для получения рациональных форм, обеспечивающих корректный ввод данных, целесообразно выполнить подготовительную работу для определения последовательности загрузки БД. Требования к последовательности загрузки таблиц БД определяются схемой данных. Их можно сформулировать следующим образом:

1. Независимо могут загружаться таблицы, которые не подчинены каким-либо другим таблицам.

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

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

Рис. 41. Доработанная многотабличная форма

В соответствии с этими требованиями можно рекомендовать следующую последовательность этапов загрузки целостной БД:

1. Определение документов для загрузки БД.

2. Определение таблиц БД, предназначенных для загрузки каждого документа.

3. Определение последовательности этапов загрузки таблиц.

4. Определение подсхемы данных (фрагмента схемы данных) для каждого этапа загрузки БД. В подсхему данных могут входить:

  • таблица – объект загрузки;

  • таблица, связанная с таблицей – объектом загрузки;

  • таблица, главная относительно загружаемой таблицы.

5. Определение общей структуры экранной формы (макета), согласованного со структурой входного документа и подсхемой данных.

6. Определение состава данных для каждой из частей составной формы.

7. Ввод ключевых полей таблицы-источника в основную часть формы.

8. Определение в подчиненной форме полей для тех ключевых полей таблицы-источника, которых нет в основной части.

После этого осуществляется конструирование формы средствами Access.

Практическая работа

При выполнении лабораторной работы необходимо:

  • для заданной предметной области разработать составные формы для связанных таблиц;

  • составить отчет по лабораторной работе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]