Создание многостраничных форм
Многостраничные формы используются в том случае, если данных, связанных с объектом, так много, что их невозможно разместить в форме, ограниченной размерами экрана.
Для создания многостраничных форм используются элементы управления Разрыв страницы (Page Break) и Набор вкладок (Tab Control). Более распространенным является второй способ создания многостраничных форм – с помощью элемента управления Набор вкладок (Tab Control). Для того чтобы посмотреть, как выглядит такая форма и как она устроена, вы можете открыть в режиме Конструктора форму "Сотрудники" (Employees) – пример многостраничной формы со вкладками в демонстрационном приложении "Борей". Форма "Сотрудники" содержит элемент управления Набор вкладок (Tab Control), состоящий из двух вкладок. Переключение между вкладками выполняется с помощью щелчка мыши по ярлыку вкладки.
Создание многостраничных форм с элементом Разрыв страницы
Рассмотрим процедуру создания формы, подобной форме "Сотрудники" (Employees) в приложении "Борей" (Northwind), но состоящую не из набора вкладок, а из страниц, разделенных элементом управления Разрыв страницы (Page Break).
- На панели инструментов База данных (Database) нажмите стрелку справа от кнопки Новый объект (New object) и выберите элемент Форма (Form).
- В появившемся диалоговом окне выделите элемент списка Автоформа: в столбец (AutoForm: Columnar) и в раскрывающемся списке выберите таблицу "Сотрудники" (Employees). Нажмите кнопку ОК.
- Автоматически будет создана форма, содержащая все поля из таблица "Сотрудники". Откройте ее в режиме Конструктора (например, выбрав команду Вид › Конструктор (View › Design View)).
- Высота формы будет около 7.5 см. Растяните нижний край области данных формы так, чтобы высота области данных стала в два раза больше – 15 см.
Внимание
При проектировании многостраничной формы нужно заранее спланировать, как разместить информацию на ее страницах. Обычно логически связанные данные группируются и разносятся по страницам формы. Однако при использовании элемента управления Разрыв страницы (Page Break) важно, чтобы все страницы были одинаковой высоты, т. к. в противном случае при переходе со страницы на страницу не всегда происходит точное переключение, может оказаться, что в окне видна только часть нужной страницы. - Пользуясь линейкой разметки формы, слева от нее, заметьте деление напротив отметки 7.5 см и перетащите туда с панели элементов элемент управления Разрыв страницы (Page Break). Этот элемент управления всегда располагается у левой границы формы и определяет конец текущей страницы.
- Мысленно разделите все поля на форме на две группы: те, что относятся к служебным данным о сотруднике, и те, что относятся к его личным данным – так, как они разделены в форме "Сотрудники". Перетащите все поля, относящиеся к личной информации, в нижнюю часть формы – ниже элемента Разрыв страницы (Page Break). Эта часть формы будет служить второй страницей.
- Чтобы сделать форму более наглядной, добавьте сразу под элементом Разрыв страницы (Page Break) надпись с текстом Личные данные, а также растяните нижнюю границу раздела Заголовок формы (Form Header) на высоту 1 см и добавьте в этот раздел вычисляемое поле (без метки), содержащее выражение (см. разд. "Создание вычисляемых полей" этой главы).
=
[Имя] &
" "
& [Фамилия](или
=
[FirstName] &
" "
& [LastName])
Отформатируйте добавленные элементы так, чтобы их выделить.
- В многостраничных формах обычно не размещают полос прокрутки, это излишне, поэтому установите для свойства Полосы прогрутки (Scroll Bars) значение Отсутствуют (Neither) в окне свойств формы. Мы практически закончили работу над содержимым формы, должно получиться примерно то, что показано на рис. 9.39. Для наглядности на рисунке мы обвели элемент Разрыв страницы.
- Перемещая рамку окна формы, установите высоту окна так, чтобы самый нижний край был около отметки 5.5 см на линейке разметки (так, чтобы в режиме Формы высота окна формы была примерно равна высоте заголовка формы плюс высота одной страницы – это 1 см + 7.5 см).
- С помощью кнопки Сохранить (Save) на панели инструментов сохраните созданную форму с именем "Сотрудники (с переводом страниц)".
- Откройте форму в режиме Формы (команда Вид › Режим формы (View › Form View)).
Созданная форма состоит из двух страниц. На первой странице размещены служебные данные о сотруднике, а на второй странице – личные данные. Переключение между страницами, как обычно, выполняется с помощью клавиш PageUp и PageDown. Но кроме этого, для удобства переключения можно добавить на каждую страницу специальные кнопки Служебные данные (Company Info) и Личные данные (Persorfal Info) с реакцией на событие Нажатие кнопки (Click), вызывающей макрокоманду переключения на другую страницу GoToPage с заданным номером страницы (в нашем примере – 1 или 2) или инструкцию DoCmd.GoToPage в процедуре VBA (см. также разд. "Создание процедур обработки событий" гл. 13). Обратите внимание на поле, которое расположено в заголовке формы. Это вычисляемое поле, значение которого меняется для каждой записи в форме. Оно содержит имя и фамилию сотрудника. Это поле предназначено для того, чтобы при переходе на вторую страницу видеть имя и фамилию сотрудника – тогда пользователь всегда будет знать, с какой записью таблицы он работает.
Рис. 9.39, а) Использование элемента Разрыв страницы
Рис. 9.39, б)
Чтобы придать созданной форме законченный вид, нужно будет еще поработать с ее оформлением и, возможно, преобразовать типы некоторых элементов, присоединенных к полям источника данных (см. также разд. "Преобразование одного элемента в другой" этой главы и разд. "Оформление формы и ее элементов" гл. 5).