Краткое содержание 29 Об этих стрелках 30 о сочетаниях клавиш 32 о щелчках кнопкой мыши 33 Примеры 33
Скачать 19.64 Mb.
|
Глава 12. Создание простых форм Глава 13. Проектирование сложных форм Глава 14. Создание системы переходов Глава 12 Создание простых форм Итак, вы научились создавать таблицы, хранящие наши данные, запросы, извлекающие их, и отчеты, подготавливающие данные к печати. Вы также создавали запросы на изменение, автоматизирующие обновления большого объема информации. Но реальные пользователи вашей БД (вы или кто-нибудь другой) будут тратить большую часть времени на совершенно другую работу: ежедневное обслуживание БД. Эта работа включает просмотр, редактирование и вставку информации. В реальных БД этот процесс идет непрерывно. Ежедневно сотрудники компании Cacophone Studios добавляют новых студентов, отдел обслуживания клиентов компании Boutique Fudge помещает новые заказы, а устроители средневековой свадьбы компании Gothic Wedding уточняют план рассаживания гостей за праздничным столом. Куклы-болванчики покупаются, адреса меняются, покупки регистрируются, тестовые результаты фиксируются, и ваши данные растут и эволюционируют. Ежедневное техническое обслуживание БД можно проводить на листе данных (см. главу 3), но это не самый легкий способ. Несмотря на то, что лист данных содержит множество информации на ограниченном пространстве, его обычно трудно использовать, особенно новичкам, недавно работающим в программе Access. Лучшее решение — формы: специализированные объекты БД, облегчающие просмотр и редактирование информации в таблице. Примечание Помните о том, что при использовании программы Access в деловой среде разные люди пользуются вашей БД. Вы можете создать ее, но другим пользователям нужно иметь возможность применять ее для выполнения разнообразных задач — как правило, ввода данных и поиска сведений. Эти пользователи могут не так хорошо, как вы, знать программу Access. Основные сведения о формах Формы получили свое название от бумажных форм, которые заполняются людьми, когда под рукой нет компьютера. В зависимости от ситуации вы можете создавать в программе Access форму, которая напоминает форму, применяемую вашей компанией или организацией. Если вы работаете в банке, вы можете создать в Access форму, которая воспроизводит информацию, организованную так же, как в бумажной форме, применяемой клиентами. Такая организация данных облегчает копирование информации с бумаги в вашу БД. Но в большинстве случаев проектируемая вами форма не имеет аналога в реальной жизни. Такие формы создаются с нуля и используются для облегчения ввода данных. Для того чтобы понять, почему формы — неотъемлемая часть почти всех БД, полезно рассмотреть слабые места листа данных. Далее перечислены некоторые характеристики, делающие формы предпочтительнее листов данных.
■ Кнопки и другие графические элементы. Формы поддерживают элементы управления: кнопки, ссылки, списки и другие полезные элементы пользовательского интерфейса, которые можно вставлять в форму. Пользователь, работающий с вашей БД, сможет впоследствии щелкнуть мышью кнопку и запустить связанную с ней задачу (например, открыть другую форму или напечатать отчет). Хорошо спроектированные формы — то, что компьютерные асы называют внешним представлением (front end) БД. В БД, применяющей формы, можно редактировать данные, выполнять поиск и обеспечивать выполнение повседневных задач, не касаясь листа данных. Создание простой формы Как и в случае отчетов, программа Access предоставляет легкий и довольно развитый способ создания формы. Он позволяет создать действующую форму, основанную на таблице или запросе. Внимательный читатель может заметить, что этот процесс в той или иной степени подобен процессу генерации простого отчета. Далее описано его применение. 1. В области переходов выберите таблицу или запрос, которые хотите использовать для генерации формы. Попробуйте применить таблицу Products из БД Boutique Fudge. Примечание Если форма создается для родительской таблицы, связанной с другими таблицами, в результате вы будете иметь дело с несколько иным типом формы. Если создается форма для таблицы Categories (родительской для таблицы Products), вы получите в итоге двухчастную форму, позволяющую просматривать и изменять записи категорий и связанные записи товаров в каждой категории. Подробнее применение форм со связанными таблицами рассматривается в главе 13. 2 . Выберите на ленте Создание → Формы → Форма (Create → Forms → Form). На экране появляется новая вкладка с формой в Режиме макета. В простой форме одновременно отображается одна запись с выводом каждого поля в отдельной строке (рис. 12.1). Если в вашей таблице много полей, программа формирует несколько столбцов (рис. 12.2). Рис. 12.1. В этой простой форме для таблицы Products уже присутствует разумная основа. Программа Access применяет поля ввода для всех текстовых полей, раскрывающийся список для полей с подстановкой (в данном примере поле ProductCategoryID) и флажок для всех полей с данными логического типа (например, поле Discontinued). В ней некоторые поля (например, Description) больше других, поскольку программа замечает, что у лежащего в основе поля таблицы допустимая длина больше максимально допустимой Подсказка Хорошие навыки проектирования очень пригодятся, когда вы начнете создавать формы. Если ваши тестовые поля созданы в расчете на хранение большего числа символов, чем им требуется (в соответствии со значением свойства Размер поля, описанного в разд. "Длина текста" главы 2), форма будет содержать огромные поля ввода, съедающие значительное пространство. Придется изменять их размер вручную. Р ис. 12.2. В данной форме для таблицы Customers программа Access не может разместить все поля с помощью обычной компоновки, отводящей одну строку для каждого поля. В место этого добавлен еще один столбец Когда форма создается впервые, программа Access располагает поля сверху вниз в том порядке, в каком они определены в таблице. Реорганизация полей на листе данных не играет никакой роли. Но программа не отображает в форме все столбцы, скрытые на листе данных (см. разд. "Скрытие столбцов " главы 3). Подсказка Вставляются поля в форму и удаляются из нее точно так же, как в отчете. Если окно Список полей не открыто, выберите на ленте Работа с макетами форм | Формат → Элементы управления → Добавить поля (Form Layout Tools | Formatting →Controls → Add Existing Fields). Затем перетащите в форму с помощью мыши нужное поле из окна Список полей. Для удаления поля щелкните его кнопкой мыши и нажмите клавишу 3. Расположите поля на форме, как хотите, перетащив их мышью в нужное место. Несмотря на то, что простые формы выглядят иначе, нежели простые отчеты, с которыми вы познакомились в главе 10, работать с ними можно почти так же, как с отчетами. Самый легкий способ компоновки формы — перемещение полей из одного места в другое с помощью мыши (рис. 12.3). 4. Измените ширину столбцов. Когда новая форма создается в Режиме макета, программа Access делает все поля достаточно широкими. Р ис. 12.3. Для перемещения поля перетащите его с помощью мыши в другое место. Программа Access переместит остальные поля соответственно. В данном примере поле Price переносится в верхнюю часть формы непосредственно под поле ProductName. Access отодвигает все остальные поля вниз для того, чтобы освободить место Рис. 12.4. Увеличивается высота поля Description для размещения внем большего числа строк. Можно также сделать поле уже или шире, но есть опасность — подобные действия влияют на весь столбец. В данной форме для таблицы Products у всех полей одинаковая ширина Как правило, нужно сжать их для создания более компактной формы. Кроме того, длинные строки текста трудно читать, поэтому лучше отображать информацию большого объема в более узком и высоком текстовом поле. Для этого выделите соответствующее поле щелчком кнопки мыши, вокруг него появится прямоугольный контур желтого цвета. Затем перетащите мышью одну из его сторон. На рис. 12.4 показан этот процесс в действии. Примечание Возможно, вам потребуются изменения, которые нельзя выполнить с помощью перетаскивания мышью, например, добавление нового столбца или задание разной ширины полей. Для внесения таких изменений необходимо понять, что такое макеты, описанные в разд. "Создание улучшенных макетов" далее в этой главе. 5. Если необходимо, можно щелкнуть кнопкой мыши имя поля и отредактировать его текст. Эта возможность позволит изменить имя ProductCategoryID просто на Category. 6. При желании можно изменить форматирование для того, чтобы сделать форму более привлекательной, сменив гарнитуру и цвет шрифта. Быстрее всего изменить формат вашей формы, если выбрать соответствующую часть (щелчком кнопки мыши) и использовать кнопки в группе ленты Работа с макетами форм | Формат → Шрифт (FontForm Layout Tools | Formatting → Font). Эту группу ленты можно также применять для настройки отображения программой Access числовых значений. Вы познакомились со всеми возможными вариантами форматирования в разд. "Форматирование столбцов и заголовков столбцов" главы 10, когда создавали базовые отчеты. Часто возникает необходимость иначе отформатировать определенные поля для того, чтобы выделить важную информацию. Можно также задать формат заголовка формы, раздела заголовка и фон формы. На рис. 12.5 показан пример разумного форматирования полей. Подсказка Для одновременного выбора нескольких фрагментов формы держите нажатой клавишу Если торопитесь (или сомневаетесь в стилистическом оформлении), можно применить отличное средство Access, названное Автоформат, для внесения целого набора связанных изменений. Просто выберите вариант из группы ленты Работа с макетами форм | Формат → Автоформат (Form Layout Tools | Formatting → AutoFormat) (в которую включены те же варианты, которыми вы пользовались при оформлении отчетов). 7. Сохраните форму. Форму можно сохранить в любой момент, если выбрать кнопку Office → Сохранить (Office → Save). Если вы закроете форму без сохранения, программа Access в этот момент предложит вам сохранить ее. Рис. 12.5. Имя поля (например, Price) и поле со значением можно выделить по отдельности, что означает возможность различного форматирования этих компонентов. В этой форме задан затененный фон для полей Price, UnitsinStock и UnitsOnOrder. Кроме того, у поля Price и его имени увеличен размер шрифта, что позволяет выделить содержащуюся в них информацию На профессиональном уровне. Поля типа Счетчик в формах Лучше всего однозначно идентифицировать каждую запись с помощью поля типа Счетчик (см. разд. "Счетчик" главы 2). Когда вставляется запись, программа Access вносит значение в поле Счетчик. Во все таблицы, которые вы видели в этой книге, включено поле, названное Код (ID) и использующее данные типа Счетчик. Значения типа Счетчик может устанавливать только программа Access. По этой причине вы, возможно, не захотите отображать такое поле в своих формах. (Если вы решили не выводить его, просто выделите это поле в Режиме макета и нажмите клавишу
В некоторых случаях ID-номер можно поместить в нижнюю часть формы вместо его обычного расположения в верхней части. Такой подход устраняет путаницу. (Меньше вероятность того, что люди будут пытаться ввести ID-номера при создании новых записей.) Применение формы Теперь, когда первая форма создана, самое время подвергнуть ее тестовой проверке. У всех форм есть три разных режима.
Примечание Когда форма в области переходов открывается двойным щелчком кнопки мыши, она отображается в Режиме формы. Если вам не нужен этот режим, щелкните вашу форму в области переходов правой кнопкой мыши и затем выберите Режим макета или Конструктор для первоначального отображения формы в другом режиме. Для опробования созданной формы переведите ее в Режим формы, если она открыта в другом режиме. Просто щелкните правой кнопкой мыши заголовок вкладки и выберите Режим формы. В Режиме формы можно выполнять те же задачи, что и на листе данных при работе с таблицей. В случае простой формы единственное отличие — отображение только одной записи в каждый момент времени. Большинство пользователей считают формы интуитивно понятнее листа данных. В следующих разделах дается краткий обзор способов применения Режима формы для решения некоторых общих задач. На профессиональном уровне. Разные люди — разные формы Часто для одной таблицы требуется создать несколько форм. В этом случае можно создавать формы с помощью специальных задач. В головных управлениях компании Boutique Fudge один сотрудник занимается установкой цен. Этот человек (называемый корректировщиком) каждый день просматривает перечень товаров и изменяет цены на основе имеющегося запаса. Для этого корректировщику цены нужны только три вида данных о каждом товаре: значения полей ProductName, Price и UnitsInStock. Для упрощения этого процесса можно создать форму, включающую лишь необходимые данные. Для того чтобы сделать эту форму удобной в применении, можно добавить некоторые пока еще незнакомые вам средства, которые описаны далее в этой главе. Вы можете запретить корректировку всех полей, кроме поля Price, для того чтобы избежать случайных изменений, включить несколько записей в форму для быстрой, с первого взгляда установки цены и отфильтровать перечень товаров, исключив снятые с производства. Если вы хотите произвести сильное впечатление на приверженцев программы Access, можно включить макрокод, описанный с части V, для создания кнопок, автоматически выполняющих задачу (например, повышение цены на 10%). От вас зависит количество создаваемых форм. Некоторые пользователи пытаются создать как можно меньше форм и сделать их достаточно гибкими, способными решать разнообразные задачи. Другие создают десятки специализированных форм, экономящих время. В большой компании, такой как Boutique Fudge, каждый отдел (продаж, доставки, обслуживания клиентов и т. д.), вероятно, будет использовать форму, сделанную своими руками. Любая форма заставляет сотрудников делать именно то, что нужно (и не позволяет делать то, чего не следует). |