2.8. Создание сложной формы
Например, необходимо создать форму, которая будет содержать данные о поставке.
Если создать форму только на основе таблицы ПОСТАВКА и для удобства в качестве кода производителя, кода товара и кода потребителя использовать поля со списками, которые будут выводить наименование производителя, наименование товара, наименование потребителя, то мы не сможем видеть цену товара, место расположение производителя и потребителя и другую информацию.Для решения этой задачи необходимо создать форму, на основе запроса, объединяющего информацию нескольких таблиц. Создадим запрос Поставки, приведенный в режиме конструктора на рис. 2.32.
Для построения формы воспользуемся мастером форм. В поле Таблица/Запрос укажите имя запроса Поставки и из поля Доступные поля перенесите в поле Выбранные поля все столбцы запроса. Нажмите кнопку Далее>. В последующих окнах выберите расположение полей «в один столбец», подходящий стиль формы, задайте заголовок форме. Отредактировав элементы управления по размеру данных, форма будет выглядеть примерно, как показано на рис. 2.33. Рис. 2.33.Форма Поставки
2.8.1. Создание формы с подчиненной формой
При необходимости редактировать данные из нескольких таблиц нужно создать более сложную форму. Например, при просмотре производителей удобно видеть информацию о выпускаемом товаре или при вводе информации о новом производителе можно внести сразу информацию о выпускаемом им товаре. Можно было бы построить форму, подобную форме, созданной в предыдущем разделе, но здесь другой тип связи: каждый производитель может иметь несколько наименований выпускаемого товара. В этом случае необходимо создать основную (информация из таблицы ПРОИЗВОДИТЕЛЬ) и подчиненную форму (информация из таблицы ТОВАР).
В форму можно внедрять до 3 уровней вложенности.При использовании конструктора создание формы необходимо начинать от создания наиболее вложенной формы, приближаясь к основной, и затем в основной форме внедрить элемент управления Подчиненная форма, при этом в качестве свойства Объект-источник необходимо ввести имя подчиненной формы. Также необходимо проверить правильность связывания форм. Для этого необходимо указать в свойствах Подчиненные поля и Основные поля подчиненной формы имя поля, по которому формы связаны.
Использование мастера форм облегчает работу. Создадим форму, в которой для каждого производителя будет выводиться информация о производимом им товаре. В первом диалоговом окне построения формы необходимо выбрать поля, используемые в форме (KPR, NPR, CityPR из таблицы ПРОИЗВОДИТЕЛЬ и КТ, NT, Cena, Date из таблицы ТОВАР).
Во втором диалоговом окне Access предоставляет возможность выбора типа представления данных, зависящего от связи между таблицами (рис. 2.34). Оставьте тип представления данных по Производитель и переключатель Подчиненная форма.
В последующих окнах выберите тип расположение полей (в подчиненной форме) - ленточный стиль и задайте заголовок формы.
Если вид формы Вас не устраивает, настройте размеры элементов управления и их расположение в основной и подчиненной форме в режиме конструктора. Форма будет иметь вид, как показано на рис. 2.35. Рис. 2.35. Форма Производитель с подчиненной формой
При использовании мастера основная форма создается одностолбцовая, а подчиненная - в режиме таблицы или ленточная.
2.8.2. Связывание форм с помощью командных кнопок
Для предыдущего примера можно задать немного другую форму. Создайте форму Производитель 1 (содержит информацию код производителя, наименование, место расположения) и форму Товар (код товара, наименование товара, цена товара, дата выпуска). Например, мы хотим просматривать информацию о товаре не для всех производителей, а найдя определенного.
Это можно сделать с помощью командной кнопки, запускающей макрос.Макросы выполняют действия в ответ на события.
Для определения макроса перейдите иа вкладку Макросы и нажмите кнопку Создать. Откроется окно макроса. Найдите форму Товар в окне БД и перетащите имя формы и отпустите его в верхней части окна в столбце Макрокоманда. При этом имя макрокоманды будет
установлено Открыть Форму, а нижняя часть окна заполнена аргументами (рис. 2.36).
Мы хотчм видеть данные о товаре для текущего производителя формы Производитель 1. Для этого необходимо задать условие отбора
[KPR]=[Forms] ![Производитель1]! [KPR],
где [Forms]! [Производитель 1 ] - ссылка на форму Производитель 1.
Для сохранения макроса нажмите кнопку Сохранить и задайте имя макросу.
Теперь необходимо создать командную кнопку для запуска макроса. Для этого откройте форму Производитель 1 в режиме конструктора. Выберите команду Заголовок/примечание формы меню Вид и, найдя имя макроса в окне БД перетащите его в раздел заголовка формы и отпустите. При этом будет создана командная кнопка, запускающая макрос. Можно изменить название кнопки на Товары и создать всплывающую подсказку. Для этого в свойстве Всплывающая подсказка элемента управления Кнопка введите Выпускаемые товары. Задайте заголовок форме. После переключения в режим формы (рис.2.37) и подвода указателя мыши к этой кнопке, будет выведена всплывающая подсказка.
Рис. 2.37. Форма Производитель 1 с командной кнопкой
Нажмите кнопку Товары и откроется форма с информацией о товарах для производителя из формы Производитель 1.
Еще по теме 2.8. Создание сложной формы:
- 4.2. Исторические формы субъектного конституирования порядка общества
- 2.7. Построение формы
- 2.7.4. Внесение изменений в форму
- 2.8. Создание сложной формы
- § 130. Сложные формы стипуляции. Корреальные обязательства. Adstipulatio. Adpromissio 442.
- ОБЩЕСТВЕННОЕ СОЗНАНИЕ ПЕРВОБЫТНОГО ОБЩЕСТВА (МИФ, РАННИЕ ФОРМЫ РЕЛИГИИ,
- РАДИОВЕЩАНИЕ МОСКОВСКОГО РАДИО НА КИТАЙСКОМ ЯЗЫКЕ: ПОИСК СРЕДСТВ, ФОРМ И ПРИЕМОВ ДИАЛОГА С ЗАРУБЕЖНОЙ АУДИТОРИЕЙ (1940 - 1954 ГГ.)
- 14. Соотношениетипа и формы государства
- § 162. Вариантные формы полных и кратких прилагательных 1.
- § 160. Вариантные формы кратких прилагательных
- § 6. СЛОЖНЫЕ СУЖДЕНИЯ