Проектирование форм Формы строятся на основе таблиц и запросов, предназначены для удобного отображения данных на экране монитора и для ввода новых записей в БД. Поля, извлеченные из таблицы или запроса, можно расположить в форме по своему усмотрению. Форму можно создать разными способами, основные – конструктором, мастером. Изменить готовую форму можно только в режиме конструктора. В форму можно добавлять новые элементы, например: ~ надпись – для поясняющего текста, ~ линия, прямоугольник – графические элементы для оформления, ~ поле – для расчета итоговых значений, ~ кнопка – для выполнения различных действий (например, для вызова подчиненной формы). 1. Все клиенты – простая форма Создать форму на основе таблицы Клиенты и использовать ее для ввода новых записей. В окне БД маркируйте таблицу Клиенты, щелкните вкл. СОЗДАНИЕ  Формы  Форма. Созданная форма откроется для работы. Внизу формы – кнопки для пролистывания записей: 1-я запись новая запись предыдущая запись следующая запись последняя запись Просмотрите записи №1, №5, последнюю. Откройте новую запись и введите информацию о новом клиенте. 22 Чтобы использовать форму только для ввода новых записей в БД, то есть запретить просмотр существующих записей БД (например, для исключения возможности искажения данных), нужно установить для свойства всей формы Ввод данных. значение Да. Установите запрет на просмотр БД, но разрешение для ввода новых записей: а) перейдите в режим конструктора (кнопка на вкл. ГЛАВНАЯ, или в строке состояния, или команда Конструктор в кон- текстном меню ярлыка), b) выделите всю форму (щелчок слева вверху на пересечении координатных линеек), c) откройте окно Свойств формы одним из способов: - правый щелчок (в месте выделения) ► Свойства, - кн. Страница свойств (гр. Сервис на вкл. КОНСТРУКТОР); d) на вкладке ДАННЫЕ в строке Ввод данных выберите значение Да. Перейдите в режим формы ( ) и введите еще две но23 вых записи. Закройте форму, подтвердите запрос об изменении и дайте имя форме – Все клиенты. Откройте таблицу Клиенты и убедитесь, что в ней появились сведения о новых клиентах. Обратите внимание – таблица отсортирована по столбцу Номер заказа (по ключевому столбцу). Для оптимизации размеров формы задайте ее свойства (в окне свойств формы на вкладке Все): Всплывающее окно – Да Модальное окно – Нет Автоматический размер – Да и определите истинный размер (в режиме формы) мышью за границу формы. 2. Заказы моделей – составная форма Создать составную форму на основе таблицы Модели, в которую данные таблицы Клиенты входят в качестве подчиненной формы. 1. Щелкните вкл. СОЗДАНИЕ  Формы  Мастер форм. 2. В первом окне Мастера в поле Таблицы и запросы установите – Таблицы: Модели. Форма будет содержать все поля, кроме поля Изображение, поэтому перенесите сразу все поля из области Доступные поля в область Выбранные поля, а затем уберите из выбранных полей поле Изображение. 3. В этом же окне Мастера в поле Таблицы и запросы установите – Таблицы: Клиенты. Перенесите из области Доступные поля в область Выбранные поля в последовательности: Обращение Фамилия Город Адрес Индекс Номер заказа Дата заказа Скидка 24 4. В следующем окне Мастера маркируйте таблицу Модели, установите переключатель Подчиненные формы. 5. В следующем окне выберите переключатель Табличный. 6. В последнем окне задайте для главной формы название – Заказы моделей, а для подчиненной оставьте название, предложенное Access – Клиенты подчиненная форма. Щелкните Готово. 7. Перейдите в режим конструктора. Ознакомьтесь со структурой формы – область заголовка, область данных, примечание. Размер каждой области формы можно изменить, перетаскивая мышью ее границы. В форме каждое поле таблицы представлено двумя элементами: ~ Надпись – отображение имени поля таблицы; ~ Поле – отображение значения текущей записи. Переместите поля главной формы, расположив их согласно образцу. В приложении 4 описаны приемы перемещения и изменения элементов управления форм. Подчиненную форму сдвиньте ниже и растяните на ширину формы. Все поля с ценами сгруппируйте справа и оставьте место для 25 нового поля Общая цена, которое создадим позже. Просмотрите форму в режиме формы. Проследите, чтобы были видны полностью надписи, присоединенные к полям. Установите оптимальный размер формы. 8. Добавление вычисляемого поля. Сначала нужно создать новое поле. Для этого используйте группу Элементы управления (на вкладке КОНСТРУКТОР): Элемент Надпись Элемент Поле Элемент Вкладка Выбор элементов Выберите элемент Поле и разместите (протягивая мышь) новое поле ниже поля Предпродажная подготовка. В области данных появятся два прямоугольника: поле (с именем Свободный) и левее от него сопровождающая надпись (с текстом Поле26). Выделите надпись и вызовите для нее Окно свойств одним из способов: - правый щелчок по надписи ► Свойства, - кн. Страница свойств (гр. Сервис на вкл. КОНСТРУКТОР); 26 и на вкладке Все для свойства Подпись введите значение Общая цена. Имя надписи не изменяйте. Вызовите Окно свойств для поля ввода и задайте для него следующие свойства (на вкладке ВСЕ): Имя Данные Формат Внимание! Общая цена =[Заводская цена] + [Транспортные издержки] + + [Предпродажная подготовка] Денежный Не набирайте формулу с клавиатуры! Нажмите на кнопку Построитель и в окне Построителя выражений введите формулу. 27 Закрыв окно Построителя, вы увидите формулу в поле ввода. 9. Оформите часть формы (справа), которая содержит сведения о цене: в группе Элементы управления щелкните кнопку Прямоугольник и вычертите в области данных прямоугольник вокруг полей со значениями цен. Шрифт, выравнивание и размеры элементов сверьте с образцом. 10. Установите форме оптимальный размер (см. с. 24) 11. Перейдите в режим формы. Пролистывайте записи главной формы (нижняя прокрутка) и просмотрите, сколько клиентов заказали каждую модель. Замечание. Форма – это экранный документ. Надо стремиться к тому, чтобы использовать размер экрана наиболее эффективно и удобно для работы – все элементы формы должны быть размещены равномерно, тексты всех надписей видны полностью, общий размер формы не превышал размера экрана (не было полос прокрутки основной формы). Если подчиненная форма Клиенты не видна полностью в отведенном ей поле, можно уменьшить размеры ее собственных полей – в режиме формы уменьшите ширину столбцов (как в обычной таблице). Просмотрите основную форму Заказы моделей. 3. Все модели – составная форма Создать составную форму на основе таблицы Модели, в которой данные таблицы Клиенты выводятся нажатием кнопки (связанные формы). 1. Выберите кн. Мастер форм на вкл. СОЗДАНИЕ. 28 2. В первом окне Мастера из таблицы: Модели выберите поля в такой последовательности: Код модели Модель Мощность двигателя Заводская цена Транспортные издержки Предпродажная подготовка 3. В этом же окне из таблицы Клиенты выберите поля: Фамилия Номер заказа Дата заказа Скидка 4. В следующем окне Мастера оставьте маркированной имя таблицы Модели и установите переключатель Связанные формы. 5. Выберите понравившийся вам стиль оформления и задайте для главной формы (Форма 1) имя – Все Модели, а для связанной (Форма 2) – Заказчики. 6. Перейдите в режим конструктора и установите размеры и положение полей в соответствии с образцом: 29 7. Добавьте вычисляемое поле Общая цена (как в п.9 предыдущей формы). Начертите рамку (прямоугольник), обрамляющую поля с ценами. 8. Установите форме оптимальный размер. 9. Перейдите в режим формы. Проверьте работу кнопки – переходя по записям главной формы, щелкайте на кнопке Заказчики, чтобы увидеть список клиентов, заказавших данную модель. Связанная форма открывается поверх главной – закрыв связанную форму, вы вернетесь к просмотру главной. Если кнопка не вызывает связанную форму, то проверьте (в режиме конструктора), не перекрывается ли она надписью-заголовком. В этом случае раздвиньте эти два объекта. 10. Закройте главную форму. 4. Наши модели – форма с вкладками Создать форму с тремя вкладками на основе таблицы Модели. Вкладки необходимы в тех случаях, когда все элементы управления формы не удается разместить одновременно на экране или их удобно группировать по смыслу. Формы с вкладками создаются в режиме конструктора. 1. Выберите кн. Пустая форма на вкл. СОЗДАНИЕ. 2. Пустая форма откроется в режиме макета. Перейдите в режим конструктора. 3. Справа откроется список полей. Щелкните по ссылке Показать все таблицы и раскройте таблицу Модели. Это понадобится нам в дальнейшем для выноса полей на форму. (Если Вы случайно закроете Список полей, его всегда можно открыть кнопкой Добавить поля на вкл. КОНСТРУКТОР). 4. Увеличьте размер области данных вправо и вниз. 5. В группе Элементы управления щелкните на кнопке Вкладка, а затем щелкните в области данных. Увеличьте размер вкладок. 6. Добавьте третью вкладку командой Вставить вкладку из контекстного меню вкладок. 7. Измените подписи вкладок: щелкните на ярлычке Вкладка1, вызовите Окно свойств; 30 в строке Подпись наберите – Основные сведения (имя оставьте Вкладка1); аналогичным образом введите подпись Вкладки2 – Дополнительные сведения; подпись Вкладки3 – Цены. 8. Добавьте к подписям вкладок рисунки. Перейдите на Вкладку 1, в Окне свойств активизируйте свойство Рисунок и щелкните на кнопке . Выберите подходящий рисунок (любой). Эти же действия выполните на других вкладках. 9. Добавьте на вкладки поля:  Перейдите на вкладку Основные сведения и из списка полей перетащите мышью на нее поля: Код модели Модель Мощность двигателя Специальная модель Изображение  На вкладку Дополнительные сведения перетащите поля: Цвет Количество дверей Обивка Другое оснащение  На вкладку Цены перетащите поля: Заводская цена Транспортные издержки Предпродажная подготовка. 10. Увеличьте немного шрифт на ярлычках вкладок. Для этого щелкните на вертикальной линейке напротив ярлычков (выделятся все вкладки) и измените размер шрифта на вкл. ГЛАВНАЯ. 11. Оформите на каждой вкладке расположение полей, надписей, шрифт и т.п. 12. Добавьте в форму заголовок. Для этого в контекстном меню раздела Область данных выберите команду Заголовок/примечание формы (или кн. Заголовок на вкл. ГЛАВНАЯ ► гр. Колонтитулы формы). Текст надписи – НАШИ МОДЕЛИ. 13. Установите форме оптимальный размер. 14. Просмотрите форму, внесите необходимые изменения в оформление. 15. Закройте форму, сохранив ее с именем Наши модели. 31