Диго С.М. Базы данных проектирование и использование (1084447), страница 54
Текст из файла (страница 54)
Затем выбирается вид подчиненной формы (рис. 8.9).
Следующий шаг (рис. 8.10 - выбор стиля) совпадает с аналогичным шагом при создании однотабличной формы.
При создании многотабличной формы система создаст описание двух форм: основной и подчиненной, поэтому при завершении создания формы следует задать соответственно имена для этих двух форм.
На рис. 8.11 представлен вид составной формы в режиме формы.
При вводе данных в подчиненную форму код сотрудника вводится в подчиненную таблицу автоматически. Как видно, в подчиненной форме выводятся только записи, связанные с записью в главной форме.
При использовании составных экранных форм можно легко перемещаться по записям как подчиненной формы, так и главной формы. Для этого используется соответствующий набор кнопок перехода. Кроме того, для быстрого позиционирования на нужную запись можно воспользоваться возможностью поиска в БД. Для этого можно выбрать позицию меню Правка/Найти (или воспользоваться соответствующей кнопкой инструментального меню) и в появившемся окне ввести условие поиска.
Если при построении многотабличной формы сначала выбрать таблицу, находящуюся на стороне «многие» в отношении «1:М» (в нашем примере это таблица «Дети»), а потом таблицу, находящуюся на стороне «1» (в нашем примере это таблица «Сотрудник»), то многотабличная экранная форма также будет создана, но это будет совсем иная форма, чем та, что изображена на рис. 8.11. Это будет форма, в которой отображаются записи подчиненной таблицы (т.е. таблицы «Дети»), к которым присоединены поля из соответствующей записи основной таблицы. Никакой соподчиненности форм при этом не наблюдается. Создается только одно описание формы, а не два, как в предыдущем случае.
Другим способом создания многотабличной формы является создание запроса, отбирающего те поля из связанных таблиц, которые будут помещаться в форму, и использование этого запроса в качестве источника для формы.
8.3.3. Корректировка формы в режиме Конструктор
Как отмечалось выше, форма, созданная Мастером, может быть скорректирована. Для этого необходимо одним из указанных ранее способов перейти в режим Конструктор. Экранная форма, полученная с помощью Мастера, в режиме Конструктор будет иметь вид, представленный на рис. 8.12.
В верхней части экрана видны три инструментальные панели: форматирования, конструктора форм и панель элементов. Первая из панелей - стандартная для всех офисных приложений MS. Многие элементы второй панели также привычны и понятны. Назначение некоторых специфичных кнопок будет пояснено ниже.
Как мы видим на рис. 8.12, все элементы полученной формы размещены в области данных. Область заголовка формы закрыта, но ее можно раскрыть и ввести в нее заголовок формы и другие данные, относящиеся ко всей форме. Поскольку назначение и способы работы с областями форм и отчетов одинаковы, а их использование в отчетах более актуально, то эти вопросы рассмотрены в главе 9, посвященной созданию отчетов.
Изменения, связанные с уже включенными в
форму элементами управления
Изменения, вносимые в исходную форму, могут быть разнообразными. Прежде всего, существует возможность перемещения, изменения размеров, выравнивания, а также выполнения других действий с уже включенными в форму элементами управления. Для этого элемент (элементы), который нужно изменить, должен быть выделен. Для выделения элемента управления необходимо установить на него указатель и нажать кнопку мыши. Чтобы выделить несколько элементов управления, следует нажать клавишу [Shift] и, не отпуская ее, выделить все нужные элементы. Если выделяемые элементы находятся рядом и их не разделяют никакие элементы, которые не должны входить в выделяемую группу, то можно нажать левую клавишу мыши и, не отпуская ее, охватить появившимся контуром все те элементы, которые необходимо выделить. Выделенные элементы имеют характерные маркеры по углам элемента и по серединам его сторон.
Перемещение. Чтобы переместить выделенный элемент (элементы), нужно позиционироваться на нем мышью, добиться, чтобы указатель приобрел форму ладони, и, держа нажатой левую клавишу мыши, переместить элементы на требуемое место. В этом случае перемещаться будут все выделенные элементы. Если из пары «подпись»-«элемент управления» необходимо переместить что-то одно, то следует позиционироваться на левый верхний угол нужного элемента и добиться, чтобы указатель приобрел форму «указательного пальца»: в этом случае будет передвигаться только этот элемент.
Изменение размера. Чтобы изменить размер элемента, нужно позиционироваться на границе элемента таким образом, чтобы указатель принял форму двунаправленной стрелки. Выбор направления стрелок (вверх-вниз, вправо-влево, по диагонали) зависит от того, как вы хотите изменить размер элемента.
Выравнивание. Чтобы выровнять выделенные элементы управления, в меню Формат следует выбрать команду Выровнять, а затем в появившемся списке выбрать способ выравнивания.
Удаление. Чтобы удалить выделенные элементы управления, необходимо нажать клавишу [Del].
Включение новых элементов в форму
Если первоначально были включены не все поля из таблицы (или случайно удален нужный элемент), то нетрудно добавить в форму поля из таблицы, являющейся источником данных формы. Для этого следует щелкнуть по кнопке Список полей на панели инструментов. Из появившегося ниспадающего списка необходимо выбрать имя нужного поля, позиционировавшись на нем, нажать левую клавишу мыши и, не отпуская ее, переместить элемент в нужное место формы.
Более сложным является вариант, когда для этих целей используется кнопка Поле на панели элементов, а потом у вставленного в результате этого действия свободного элемента меняется соответствующим образом свойство «Данные», а у его надписи - свойство «Подпись». Но такой способ лучше использовать только в случае, когда иной путь невозможен, например при выводе в форму вычисляемого поля. При создании вычисляемого поля в свойство «Данные» необходимо ввести выражение для вычисления значения этого поля.
Вычисляемые поля могут вводиться не только в те формы, которые используются для вывода информации, но и в те, которые используются для ввода данных в базу данных. Например, при вводе данных в таблицу «Сотрудник» можно на экран вывести вычисляемое поле «Возраст»: это поле не будет храниться в таблице (в нее будет вводиться только «Дата рождения»), а на экран автоматически при вводе даты рождения будет выводиться возраст, что удобно, например, для контроля вводимых данных.
Чтобы ввести в форму текст, необходимо щелкнуть по кнопке Надпись на панели элементов и, не отпуская кнопку мыши, переместиться в то место в форме, куда следует поместить текст, после чего ввести нужный текст и нажать клавишу [Enter].
Кроме текста и полей в форму могут быть включены линии, квадраты, рисунки.
Изменение типа элемента управления
В экранной форме могут использоваться разные элементы управления, в том числе список, поле со списком, которые широко используются при создании экранных форм.
Если при создании таблицы поля были созданы как поля подстановки, то в форме, полученной в результате использования Мастера, этим полям будут соответствовать поля со списком.
Если поля были созданы как обычно, а вы хотите в форме использовать, например, поле со списком, то достичь желаемого результата можно разными способами.
Во-первых, можно изменить тип элемента управления в форме. Для этого в режиме Конструктор необходимо выделить соответствующий элемент формы, щелкнуть правой клавишей мыши и в появившемся контекстном меню выбрать позицию «Преобразовать элемент в...» (рис.8.13).
В табл. 8.1 приведены возможные варианты преобразования. Доступные преобразования будут зависеть от того, какой тип имеет выбранный элемент.
Но в некоторых вариантах преобразования необходимо выполнить дополнительные шаги для того, чтобы достичь желаемого результата. Так, например, если обычное поле преобразовать в «список» или «поле со списком», то автоматически список значений или связь с полем подстановки не появится. Поэтому следует соответствующим образом изменить свойства элемента. Для этого нужно позиционироваться на нужном элементе и щелкнуть по кнопке Свойства. Например, если мы хотим сделать элемент «Пол» списком с фиксированным набором значений «м» и «ж», то в поле «Тип источника строк» нужно выбрать «Список значений », а в качестве источника строк через точку с запятой указать «м» и «ж» (рис. 8.14).
Таблица 8.1
Элемент управления | Поле | Надпись | Список | Поле со списком | Флажок | Выключатель | Переключатель | Изображение | Кнопка |
Поле (не логическое) |
| + | + | + |
|
|
|
|
|
Надпись | + |
|
|
|
|
|
|
|
|
Список | + |
|
| + |
|
|
|
|
|
Поле со списком | + |
| + |
|
|
|
|
|
|
Поле (логическое): флажок выключатель переключатель |
|
|
|
| + + + | + + + | + + + |
|
|
Изображение |
|
|
|
|
|
|
|
|
|
Кнопка |
|
|
|
|
|
|
|
|
|
Если элемент типа «поле» преобразуется в тип «поле со списком», то изменение свойств будет еще сложнее. Так, например, если мы хотим элемент, соответствующий полю «Код_кафедры», преобразовать в поле со списком, то вид «источника строк» будет «таблица/ запрос»; в качестве источника строк следует выбрать таблицу «Кафедра», после чего щелкнуть мышью по строке «Источник строк» и затем - по кнопке с многоточием, чтобы вызвать построитель запросов (рис. 8.15).