Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_ЗФ / Учебное пособие_Информатика.doc
Скачиваний:
209
Добавлен:
22.03.2016
Размер:
6.18 Mб
Скачать

Пример выполнения задания

Простая форма

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

Рисунок 122 – Автоформа: в столбец

Составная форма, основанная на двух таблицах

Создадим форму, содержащую информацию о поставщиках и поставляемых ими товарах. Это будет так называемая составная форма, которая позволяет одновременно отображать на экране записи из таблиц, связанных отношением «один-ко-многим». В главной форме отображается запись из таблицы «один», а в подчиненной – множество связанных с ней записей из таблицы «многие». В учебной базе Борей таблица Поставщики связана отношением «один-ко-многим» с таблицей Товары (один поставщик может поставлять множество товаров), поэтому главная форма будет содержать данные из таблицы Поставщики, а подчиненная – из таблицы Товары.

Для создания составной формы нажмите на вкладке Формы кнопку , затем выберите в появившемся списке Мастер форм и нажмите кнопку (рис. 123).

Рисунок 123 – Создание составной формы с помощью Мастера

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

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

Рисунок 124 – Выбор таблицы-источника для главной формы

Затем перенесите из списка Доступные поля в список Выбранные поля те поля, которые вы хотите видеть в главной форме, например, поля: Название, Адрес и Телефон. Для этого следует в списке Доступные поля выделить имя поля, например, Название и нажать кнопку для переноса в списокВыбранные поля (рис. 125).

Если поле выбрано ошибочно, следует нажать кнопку для удаления поля из спискаВыбранные поля.

Рисунок 125 – Выбор полей для главной формы

После того, как были выбраны все поля для главной формы, следует выбрать поля, которые будут отображаться в подчиненной форме. Выберите в списке Таблицы и запросы в качестве источника данных ту таблицу, данные из которой будут отображаться в подчиненной форме, т.е. таблицу Товары (рис. 126).

Рис. 126 – Выбор таблицы-источника для подчиненной формы

Затем перенесите из списка Доступные поля в список Выбранные поля те поля, которые вы хотите видеть в подчиненной форме, например, поля: КодТипа, Марка, Цена, НаСкладе (рис. 127).

Рисунок 127 – Выбор полей для подчиненной формы

Нажмите кнопку и на следующем шаге мастера, в диалоговом окне, выберите переключательПодчиненные формы. В поле образца сразу показано, как будут выглядеть будущие формы (рис. 128).

Рисунок 128 – Выбор вида представления формы

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

Рисунок 129 – Выбор внешнего вида подчиненной формы

Нажмите кнопку и выберите требуемый стиль оформления формы, например,Стандартный (или тот, который вам понравится), как показано на рисунке 130. Однако имейте в виду, что наличие в любом из предложенных стилей, кроме Стандартного, графической информации резко увеличивает объем файла базы данных.

Рисунок 130 – Выбор стиля формы

Нажмите кнопку и либо оставьте предлагаемые по умолчанию имена форм, либо введите новые. Введите новое имя для главной формыПоставщики товаров (рис. 131).

Рисунок –131 – Задание имени формы

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

Рисунок 132 – Составная форма Поставщики товаров

Составная форма, основанная на таблице и запросе

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

Рисунок 133 – Запрос-источник для подчиненной формы

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

В нашем примере основным полем следует выбрать поле КодСотрудника из таблицы Сотрудники, а подчиненным – поле КодСотрудника из созданного запроса ЗаказыСотрудников. Таким образом, в подчиненной форме, основанной на запросе, будут отбираться строки, соответствующие текущему сотруднику.

Порядок создания составной формы, основанной на таблице и запросе такой же, как было описано выше. Однако следует особо обратить внимание на источник данных для подчиненной формы – теперь это будет запрос ЗаказыСотрудников, из которого следует перенести в окно доступные поля все поля, кроме поля КодСотрудника (рис. 134).

Рисунок 134 – Выбор полей для подчиненной формы из запроса

Продолжите самостоятельно построение составной формы Оформленные сотрудниками заказы, следуя описанным выше инструкциям. В результате вы должны получить форму, представленную на рисунке 135. Если составная форма была создана правильно, тогда в подчиненной форме будут выводиться только те заказы, которые оформлял сотрудник, указанный в главной форме.

Рисунок 135 – Составная форма Оформленные сотрудниками заказы

Составная форма с вычисляемым полем в главной форме

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

Итак, сначала следует создать составную форму, основанную на таблице и запросе. В качестве базовой таблицы для главной формы будет выступать таблица Клиенты, а для подчиненной следует создать специальный запрос, объединяющий поля из таблиц Заказы и Заказано, а также специальное поле, которое вычисляет сумму. Создайте самостоятельно составную форму. В итоге вы должны получить форму, представленную на рисунке 136.

Рисунок 136 – Составная форма Суммы заказов клиентов

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

Сначала создайте свободное текстовое поле и вычисляемый элемент управления, поле ИТОГО в примечании формы ДляКлиентов подчиненная форма.

Откройте форму ДляКлиентов подчиненная форма в режиме конструктора и наведите указатель на нижнюю границу полосы Примечание формы, и, когда он превратится в двунаправленную стрелку, перетащите границу вниз примерно на 1,5 см (рис. 137).

Рисунок 137 – Задание свойств для вычисляемого поля

На панели инструментов нажмите кнопку Поле и щелкните в области примечания формы – появится новое текстовое поле и его надпись.

Щелкните правой кнопкой в текстовом поле и выберите Свойства в появившемся меню. На вкладке Все в поле Имя введите Итого, а в поле Данные – выражение =Sum([ОтпускнаяЦена]).

Закройте окно свойств, сохраните и закройте форму ДляКлиентов подчиненная форма.

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

Откройте форму Суммы заказов клиентов в режиме конструктора. На панели инструментов нажмите кнопку Поле и щелкните рядом с полем Телефон – появится новое текстовое поле и его надпись. Измените надпись нового поля на «Заказано всего на сумму».

Щелкните правой кнопкой в текстовом поле и выберите Свойства в появившемся меню (рис. 138).

Рисунок 138 – Задание свойств свободного поля

для отображения результатов из подчиненной формы в главную

На вкладке Все в поле Имя введите КлиентИтого, а в поле Данные введите выражение

=[ДляКлиентов подчиненная форма].[Form]![Итого]

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

В поле Формат щелкните на стрелке вниз и выберите формат Денежный.

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

Рисунок 139 – Составная форма с вычисляемым полем

Редактирование формы

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

Откройте форму Поставщики товаров в режиме конструктора. Фрагмент формы в режиме конструктора приведен на рисунке 140.

Рисунок 140 – Фрагмент окна конструктора форм

Щелкните на надписи поля Телефон, чтобы выбрать его. Наведите указатель на правую границу надписи так, чтобы он превратился в двунаправленную стрелку и перетащите правую границу поля так, чтобы уменьшить длину надписи (рис. 141).

Рисунок 141– Выделение элемента формы

Теперь наведите указатель на черный квадратик в левом верхнем углу поля Телефон. Указатель превратится в изображение указательного пальца (). Перетащите поле вплотную к соответствующей ему надписи (рис. 142).

Рисунок 142 – Перемещение только поля у элемента формы

Для того чтобы расположить поле Телефон рядом с полем Название, наведите указатель на границу поля Телефон так, чтобы указатель превратился в стилизованное изображение руки (). Переместите поле, чтобы форма выглядела, как показано на рисунке 143.

Рисунок 143 – Перемещение элемента целиком (надпись и поле)

Теперь на освободившееся место вы можете переместить подчиненную форму, увеличив тем самым область данных.

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

Для редактирования нескольких полей можно воспользоваться командой меню Формат: Выровнять, Размер, Интервал по вертикали, Интервал по горизонтали.