Создание подчиненной формы

Подчиненная форма — это форма, находящаяся внутри другой формы. Пер­вичная форма (в нашем случае Flats) называется главной. Подчиненные формы очень удобны для вывода информации из таблиц или запросов, свя­занных отношением "один-ко-многим". Одна квартира — несколько прожи­вающих. При использовании формы с подчиненной формой для ввода новых записей текущая запись в главной форме сохраняется при входе в подчинен­ную форму. Это гарантирует, что записи из таблицы или запроса на стороне "многие" будут иметь связанную запись в таблице или запросе на стороне "один". MS Access автоматически сохраняет каждую запись, добавляемую в подчиненную форму, и никакие специальные приемы типа обработки собы­тия До вставкине требуются.

Сначала посмотрим на конечный результат. На рис. 2.32 показаны две фор­мы: Building (информация по зданию) и Fiats (данные по квартире). Фор­ма Fiats содержит подчиненную форму owners (члены семьи квартиро­съемщика).

Порядок создания подчиненной формы следующий.

1. Откройте первичную форму Flats в режиме конструктора.

2. Убедитесь, что на панели элементов кнопка f*4с подсказкой "Использо­вать мастера" нажата. Если нет — "выделите" ее щелчком левой кнопки мыши. Нам понадобится работа построителя подчиненных форм.


3. Нажмите на панели элементов кнопку \Щ Подчиненная форма. Помести­те указатель мыши над тем местом первичной формы, где вы планируете разместить левый верхний угол подчиненной формы. Указатель мыши превратится в значок подчиненной формы с крестиком в левом верхнем углу.

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

5. Первый шаг работы мастера подчиненных форм — определение данных, которые надо включить в подчиненную форму. "Утопите" переключатель j Имеющиеся таблицы и запросыи щелкните по кнопке Далее. По­явится окно для выбора таблиц и полей. Выберите все поля из таблицы owners (рис. 2.33).


6. Второй шаг — определение полей связи между главной и подчиненной формами. Основа главной формы Flats — одноименный запрос, в кото­рый попали данные из двух таблиц: flat и account. Подчиненная форма основана на данных из таблицы owners. Никогда ранее мы не устанавли­вали отношений между запросом Flats и таблицей owners, поэтому все, что может предложить мастер подчиненных форм на этом шаге, нам не подходит. Сделайте щелчок по кнопке Самостоятельное определение. Ключевая связка выглядит так: STREET+HOUSE+FLAT (рис. 2.34).



7. Третий шаг — выбор имени для подчиненной формы. Под этим именем она появится в списке форм базы данных Real Estate. Мы уже условились, что назовем ее Owners. Введите это имя и щелкните по кнопке Готово.

Закройте первичную форму Flats. Дальнейшая работа будет происходить с формой Owners. Откройте ее в режиме конструктора. То, что сгенерировал мастер подчиненных форм, необходимо подвергнуть некоторому улучшению. Посмотрите сами (рис. 2.35).





В заголовки колонок вынесены названия полей таблицы owners. Конечному пользователю они ни о чем не говорят. Наличие ключевых полей STREET, HOUSE и FLAT в подчиненной форме вносит настоящую путаницу. Кнопки пе­рехода по записям подчиненной формы в данном случае просто мешают ра­боте. Не пытайтесь изменить шрифт заголовков колонок. Форма сгенериро­вана в режиме таблицы, у вас просто ничего не получится.

Для начала сделаем подчиненную форму ленточной. В окне свойств этой формы выберем вкладку Макет, найдем свойство Режим по умолчаниюи изменим его значение: Ленточная форма. Удалим заголовок формы и ключе­вые поля STREET, HOUSE и FLAT. Для удаления элемента сделайте по нему щелчок левой кнопкой мыши и нажмите клавишу . Уберем совсем кнопки перехода по записям. Для этого на вкладке Макетв качестве значе­ния свойства Кнопки переходапоставьте Нет. Немного отформатируем объекты формы. Для этого поместите указатель мыши в любую точку на гра­нице выделенного элемента, отличную от маркеров изменения размеров. На­жмите левую кнопку мыши и, не отпуская ее, перетащите элемент на новое место. Более точно выставить элемент управления на форме можно при по­мощи клавиш-стрелок при нажатой клавише , а поточнее изменить размеры элемента можно при помощи клавиш-стрелок при нажатой клавише . После проделанных манипуляций получим форму, изображенную на рис. 2.32.


5560125161890210.html
5560165587672720.html
    PR.RU™