Создание баз данных Access: Учебное пособие, страница 15

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

   Если цель формы - только добавление записей в таблицу, то надо строить форму непосредственно на основе этой таблицы, без промежуточного запроса.

   Для созданной БД разработаем приложение, решающее следующие задачи:

  -  регистрация каждой покупки, сделанной клиентом;

  - расчет стоимости каждой покупки;

  - расчет итоговых сумм, а именно общего количества книг, купленных каждым клиентом, и общей стоимости этих покупок;

  - ввод сведений о вновь поступивших книгах, новых авторах и клиентах.

   Работа приложения основывается на четырех формах. Одна из них — сложная - предназначена для решения первых трех задач и состоит из главной формы и трех подформ, При оформлении каждой покупки с помощью главной формы в БД заносятся следующие сведения: имя клиента, название купленной им книги, количество экземпляров, дата покупки. Здесь же выводится информация о цене куп­ленной книги и рассчитывается стоимость покупки. Одна из подформ, входящих в состав сложной формы, выводит все сведения о клиенте, совершающем покупку, другая - выводит сведения об авторе купленной книги, третья подформа предна­значена для вывода итоговых сумм для данного клиента. Общий вид сложной формы Покупки приведен в приложении 3.

   Для ввода сведений о новых книгах, авторах и клиентах создаются две от­дельные простые формы.

Создание формы с помощью мастера форм

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

   Мастер форм позволяет создавать формы, основанные на нескольких табли­цах или запросах. Для этого на первом шаге работы Мастера вначале надо выбрать поля из одного источника. Затем в окне Таблицы и запросы можно установить имя другого источника и выбрать нужные поля. Если в БД заданы связи между таблицами, мастер сам определит способ связи и предложит построить простую или более сложную форму.

   Форму, созданную Мастером, можно улучшить с помощью Конструктора форм.

   •     Создайте форму Сведения о клиенте с помощью Мастера форм. Источник данных - таблица КЛИЕНТЫ. Эта форма будет использована в качестве подчиненной для сложной формы Покупки (рис.1 приложения 3).

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

Инструменты конструктора форм

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

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

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

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

   В Конструкторе форм имеется Панель элементов, содержащая кнопки ин­струментов для всех элементов управления, которые можно создать в форме.

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

   В форме могут быть созданы надписи, присоединенные к другим элементам управления. Так, например, элемент управления Поле создается с присоединенной надписью, которая содержит подпись этого поля. Эта надпись появляется как за­головок столбца при просмотре формы в режиме Таблицы.

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

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

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