Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Создание подчиненной формы
Подчиненная форма — это форма, находящаяся внутри другой формы. Первичная форма (в нашем случае 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. Для удаления элемента сделайте по нему щелчок левой кнопкой мыши и нажмите клавишу < Delete>. Уберем совсем кнопки перехода по записям. Для этого на вкладке Макет в качестве значения свойства Кнопки перехода поставьте Нет. Немного отформатируем объекты формы. Для этого поместите указатель мыши в любую точку на границе выделенного элемента, отличную от маркеров изменения размеров. Нажмите левую кнопку мыши и, не отпуская ее, перетащите элемент на новое место. Более точно выставить элемент управления на форме можно при помощи клавиш-стрелок при нажатой клавише < Ctrl>, а поточнее изменить размеры элемента можно при помощи клавиш-стрелок при нажатой клавише < Shift>. После проделанных манипуляций получим форму, изображенную на рис. 2.32.
|