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