Создание многостраничных форм с элементом Разрыв страницы
Рассмотрим процедуру создания формы, подобной форме "Сотрудники" (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. Использование элемента Разрыв страницы
Чтобы придать созданной форме законченный вид, нужно будет еще поработать с ее оформлением и, возможно, преобразовать типы некоторых элементов, присоединенных к полям источника данных (см. также раздел "Преобразование одного элемента в другой" этой главы и раздел "Оформление формы и ее элементов"главы 5).