- •Часть 4 Создание форм пользователя
- •Занятие 4.1Использование элементов управления для отображения данных в форме
- •Начало занятия
- •Создать форму
- •Включить в форму надпись
- •Изменить размер шрифта и цветовую гамму
- •Добавить в форму поле (связанный элемент управления)
- •Создать флажок
- •Установить свойства
- •Выровнять управляющие элементы
- •Профи. Отформатировать форму Инвентаризация
- •Окончание занятия
- •Занятие 4.2Работа с рисунками и другими объектами
- •Начало занятия
- •Включить в форму рисунок
- •Добавить в форму управляющий элемент с изменяющимся от записи к записи изображением
- •Подогнать размеры графического объекта таблицы и рамки
- •Профи. Создание оригинального изображения и включение его в форму
- •Окончание занятия
- •Занятие 4.3Представление в форме взаимосвязанных данных
- •Начало занятия
- •Создать сложную форму
- •Создать командную кнопку, открывающую форму
- •Профи. Произвести вычисления в форме
- •Окончание занятия
- •Занятие 4.4Устранение ошибок при вводе данных
- •Начало занятия
- •Создать комбинированное поле списка
- •Присвоить управляющему элементу начальное (по умолчанию) значение
- •Проверить правильность данных, введенных в управляющий элемент
- •Запретить нулевые значения в полях
- •1876 Парк лейн
- •Профи. Изменить свойство редактирования в форме
- •Окончание занятия
- •Контрольная работа по теме «Создание форм пользователя» Вопросы для самоконтроля.
- •Задание для самоконтроля.
Окончание занятия
Для перехода к следующему уроку щелкните на кнопке Закрыть окна базы данных или выберите команду меню Файл Закрыть. Вы закроете окна, но останетесь в программе.
Для завершения работы щелкните на кнопке Закрыть окна Microsoft Access или выберите команду меню Файл Выход. Вы закроете окна и выйдете из программы.
Занятие 4.3Представление в форме взаимосвязанных данных
Эффективная организация и представление данных главные ключи к успеху при работе с базами данных. Например, телефон клиента включен в одну таблицу, а заказы, которые этот клиент размещал в другую. Когда вы звоните клиенту, то хотите видеть список его заказов рядом с именем, адресом и номером телефона.
Вы можете сконструировать ваши формы таким образом, чтобы содержащиеся в них данные были представлены наиболее удобным способом. На этом занятии вы научитесь создавать форму, в верхней части которой содержится одна запись (скажем, запись о клиенте), а в нижней части связанные с ней записи (скажем, записи о каждом из заказов, размещенных этим клиентом). Вы, кроме того, узнаете, как создать командную кнопку, открывающую другую форму с нужной вам информацией.
Разумеется, очень удобно, когда вы видите на экране не только основную информацию формы, но и сопутствующую, расширяющую сведения о просматриваемом объекте и взятую не из таблицы, на основе которой создавалась форма, а из другой таблицы или запроса. Для подобных целей существует сложная форма, в состав которой входит подчиненная форма. Пользуясь подчиненной формой, вы избавляете себя от необходимости открывать и закрывать таблицы и формы в поиске необходимой информации, постоянно переключаться между ними.
Как правило, подчиненная форма присоединена к главной и воспроизводит сведения, связанные с данными основной формы. Например, форма Наборы базы данных Сластена Лили посвящена описанию шоколадных наборов, выпускаемых фирмой. К ней присоединена подчиненная форма со сведениями о конфетах, составляющих тот или иной набор. Подчиненная форма является самостоятельной частью базы данных и хранится в ней отдельно. Так, подчиненную форму вы можете найти в списке форм базы данных под именем Подчиненная для наборов. Открыв ее из вкладки Формы окна базы данных, вы увидите перед собой общий список конфет.
Начало занятия
Запустите Microsoft Access, откройте базу данных Сластена Лили, разверните окно программы до размеров полного экрана.
Создать сложную форму
Для создания сложных форм в Microsoft Access лучше всего воспользоваться Мастером форм. Мастер создаст обе формы и принудит их действовать заодно. Он даже автоматически установит между ними связь, если будут выполнены два условия:
главная форма создана на основе таблицы или запроса;
подчиненная форма создана на основе таблицы, взаимосвязанной с таблицей главной формы, или на основе таблицы или запроса, содержащих поля с имеющих то же имя и тип данных, что и ключевое поле таблицы главной формы.
В планируемой вами сложной форме главная форма основана на таблице Заказчики, так что первое условие выполнено. Ключевым полем этой таблицы является Код заказчика.
Для подчиненной формы будет использован запрос Заказы. С общей суммой, в котором также есть поле Код заказчиков и, таким образом второе условие также выполнено. Этот запрос содержит информацию о заказах каждого клиента, и именно эти сведения и нужно отобразить в подчиненной форме.
Несоблюдение условий автоматической взаимосвязи составляющих сложной формы не мешает установить эту связь вручную. Тем не менее, необходимым является наличие связующих полей, содержащих одинаковые значения связываемых записей.
Пользуясь услугами Мастера форм при создании сложной формы, необходимо заранее установить взаимосвязь между источниками данных для главной и подчиненной форм. В нашем случае такая связь уже создана между таблицей Заказчики и запросом Заказы с общей суммой.
В окне базы данных щелкните на ярлычке вкладки Формы и в ней щелкните на кнопке Создать.
В открывшемся окне Новая форма дважды щелкните на строке Мастер форм.
В первом окне в списке Таблицы/Запросы выделите пункт Таблица:3аказчики.
Для вашей формы выберите двойным щелчком следующие имена полей таблицы: Фамилия, Имя, Штат/Провинция и Телефон.
Снова обратитесь к полю списка Таблицы/Запросы и выделите там пункт Запрос: Заказы с общей суммой.
Выберите двойным щелчком следующие имена из списка Доступные поля: Код заказа, Дата заказа, Всего. После этого щелкните на кнопке Далее.
При переносе некоторых полей рядом с их именами будет появляться имя исходной таблицы. Это вызвано особенностями работы Microsoft Access с русским алфавитом. Сразу после создания ваша форма из-за этого может работать некорректно. Однако, переключив ее в режим конструктора и восстановив там правильные имена полей и надписей, вы легко поправите дело.
На вопрос Мастера, какой выбрать тип представления данных, щелкните на строке поЗаказчики.
Если не включена по умолчанию опция Подчиненные формы, включите ее и щелкните на кнопке Далее.
Выберите для формы Табличный макет и щелкните на кнопке Далее.
Выберите из списка стилей Обычный и щелкните на кнопке Далее.
Измените заголовок формы на Заказчики и заказы и щелкните на кнопке Готово. Microsoft Access сохранит под этим названием сложную форму. Если хотите, можете присвоить другое имя и подчиненной форме, например Подчиненная для заказчиков и заказов. После этого откроется новая форма (рис 4.8).
Рисунок 4.8 Сложная форма "Заказчики и заказы"
Если вы хотите поменять ширину колонок подчиненной формы, дважды щелкните на полях заголовков столбцов в режиме формы.
Понаблюдайте за работой формы. Подчиненная форма присоединена к основной. Чтобы убедиться в этом, пролистайте несколько записей заказчиков.
Перейдите к записи следующего заказчика щелчком на навигационной кнопке следующей записи. Содержание подчиненной формы будет соответствовать заказам, сделанным вторым клиентом.
Переключитесь в режим конструктора. Наряду с привычными управляющими элементами главной формы в нижней части окна находится родин большой прямоугольник, представляющий управляющий элемент подчиненной формы. Среди его свойств есть такое, которое отвечает за связь с соответствующей записью главной формы.
Щелкните где-нибудь в прямоугольнике управляющего элемента подчиненной формы и затем на кнопке Свойства панели инструментов. Откроется лист свойств подчиненной формы.
Закройте лист свойств. Программой не предусмотрено отображение подчиненной формы в режиме конструктора. При необходимости просмотреть и отредактировать ее, нужно открыть подчиненную форму в режиме конструктора из вкладки Формы окна базы данных. Щелкните на значке Подчиненная для заказчиков и заказов, затем на кнопке Конструктор. Мастер формы разместил по текстовому окну на каждое поле, перенесенное сюда из запроса.
Закройте подчиненную форму
Закройте главную форму и сохраните внесенные изменения.
