Для создания такого рода сложных иерархических форм на третьем шаге мастера форм нужно вместо опции Подчиненные формы выбрать опцию Связанные формы. Тогда информация о заказах по клиенту будет вызываться по кнопке, созданной автоматически с помощью Мастера форм.
Заказы Телефон (044)41-41-41 Кредит 2000 |
Кнопка "Заказы" будет открывать связанную форму Заказы по данному клиенту.
Кроме того, Мастер форм сделает две формы – главную и подчиненную. Их внешний вид можно изменить, открыв их отдельно в режиме Конструктора. Так, для подчиненной формы Заказы можно добавить Итоговое поле, суммирующее общий итог по Заказано и Продано (с помощью пустого поля ___ ). Результат просмотра в Конструкторе форм.
Заголовок формы |
Код товара Дата заказа Заказано Продано |
Область данных |
Код товара Дата Заказано Продано
|
Примечание |
Итого: =Sum([Заказано]) =Sum([Продано]) |
1) создать самостоятельно две формы – Заказы и Клиенты. При чем, в форме Заказы нужно вызвать свойства Формы ___ и во вкладке Макет в строке ежим по умолчанию выбрать из вариантов
Простая форма
Ленточная форма
Таблица
2) открыть форму, которая будет являться главной формой (Клиенты)
3) на панели элементов выбрать кнопку ___ Подчиненная форма/Отчет и указать ее местоположение в главной форме, вызвав свойства данного объекта, во вкладке Данные в строке Объект-источник указать имя нормальной формы Заказы. При этом, если главная и подчиненная формы связаны между собой, то следующие две строки
Подчиненные поля
Основное поле
автоматически назначат ключ связанных полей – Код клиента.
В процессе разработки приложений часто возникает ситуация, когда в экранной форме необходимо расположить достаточно объем информации или для удобства работы разместить на отдельных страницах.
Для создания многостраничных форм используется инструмент ___ Набор вкладок на Панели элементов окна Конструктор форм.
Например, необходимо разделить информацию о клиенте на деловую и личную. Тогда мы выбираем кнопку Набор вкладок и указываем в форме местоположение и размеры нового элемента. При этом в форме появиться элемент с двумя страницами.
Область данных |
Вкладка 1 Вкладка 2 Вкладка 3
|
В данные Вкладки можно добавить поле из списка полей также, как в обычную форму. Название вкладок необходимо изменить, вызвав Свойства Вкладок и во вкладке Макет заполнить строку Подпись.
Для добавления еще одной вкладки необходимо вызвать команду контекстного меню Добавить вкладку. Кроме того, в контекстном меню можно:
- удалить текущую вкладку
- изменить последовательность вкладок
РЕЗУЛЬТАТ
Основные сведения |
Дополнительные сведения |
|
Сотрудник Иванова Валентина Ивановна Должность Программист Рабочий телефон (044)41-41-41 |
||
Основные сведения |
Дополнительные сведения |
|
Адрес Украина, 49005, Днепропетровск Дата приема 12.01.02 Дата увольнения 12.02.03 |
||
Например, у нас есть перекрестный запрос, находящий суммы продаж по каждому товару за каждый месяц. Мы знаем, что с помощью Мастера перекрестных запросов мы можем найти сумму по строке (по каждому товару). Однако еще одним удобным способом отображения перекрестных запросов является форма.
Предположим, первоначально мы создали такую форму:
Код товара Код товара
1 кв 2 кв Январь Янв-2000 Апрель Апр-2000 Февраль Февр-2000 Май Май-2000 Март Март-2000 Июнь Июнь-2000 |
на основе следующего запроса:
Код товара |
Янв-2000 |
Февр-2000 |
Март-2000 |
Апрель-2000 |
Май-2000 |
Июнь-2000 |
1 |
30 |
|
10 |
11 |
|
10 |
2 |
|
50 |
|
|
15 |
|
3 |
10 |
|
|
12 |
|
|
При таком запросе результат выполнения формы будет выглядеть следующим образом:
Код товара 1
Январь 30 Апрель 11 Февраль Май Март 10 Июнь 10 |
Мы хотим рассчитать суммы продаж по каждому кварталу, а затем общую сумму за год.
Для этого необходимо добавить вычисляемые поля, складывающие значения по продажам по каждому кварталу. Однако, в некоторых месяцах объем продаж – пуст. При таких значениях Access не будет подсчитывать значения итоговых сумм. Для этого нужно сделать следующее:
1) выделив поля Янв-2000 и вызвать его Свойства. Во вкладке Данные будет стоять янв-2000 (имя поля исходного запроса). Нам нужно сделать так, чтобы если значение этого поля нулевые (is Null), то в в форме на ее месте должен находиться 0, а иначе – значение данного поля. Для этого в строке данные нужно вызвать построитель ___ и с помощью функций записать вражение:
iif(is Null([янв-2000]));0; [янв-2000]
2) во вкладке Имя изменить имя поля и Янв-2000 на Январь, т.к. при подсчетах суммы за квартал мы будем использовать теперь не поле исходного запроса Янв-2000, а наше расчетное поле. Поэтому их имена должны отличаться.
3) тоже самое проделать с остальными полями формы. В построителе выражений удобно использовать для ввода названий полей список полей формы.
4) под каждым столбец, содержащим данные по месяцам одного и того же квартала, добавить вычисляемое поле
Итого = [Январь]+[Февраль]+[Март]
Обратите внимание, что для подсчета суммы используются не исходные поля [Янв-2000] и т.д., а имена вычисляемых полей [Январь] и т.д.
5) вызвать свойства добавленных ___ полей и присвоить им имена (вкладка Все, строка Имя): Квартал 1, Квартал 2…
6) добавить еще одно ____ поле, определяющее сумму продаж за год
Итого за год = [Квартал 1]+[Квартал 2]+…
Кнопочная форма представляет собой средство для автоматизации работы с формами и отчетами.
Например, мы хотим создать следующую иерархию меню:
Для этого нужно:
1) вызвать ______ меню Сервис/Надстройки/Диспетчер кнопочных форм
Диспетчер кнопочных форм |
Главная кн формы (по умолчанию) Запросы Отчеты Исходные данные Многотабл Итоговые Параметрические |
2) с помощью кнопки Создать создать страницу кнопочной формы Исходные данные, Запросы, Отчеты
Имя страницы кнопочной формы Исходные данные ОК
|
создать элементы страницы кнопочной формы Исходные данные с помощью кнопки Изменить окна Диспетчера кнопочных форм (при этом название страницы Исходные данные может быть выделено).
Изменение кнопочной формы |
Исходные данные
Элементы данный кнопочной формы
Товары Клиенты Предприятие Выход
|
4) в появившемся окне нажать кнопку Создать
Текст Товары
Команда Открыть форму в режиме редактирования
Форма Товары
|