Ручная работа

Если проследить путь развития прикладного программного обеспечения, то можно заметить: чем современнее программа, тем выше степень ее автоматизации. Первые электронные таблицы едва умели отличать цифры от текста. А возможности Microsoft Excel позволяют создать даже экспертную систему, если этого потребуют обстоятельства. Первый текстовый редактор позволял только вводить текст и сохранять его в файле. Нынешние возможности текстового редактора Microsoft Word позволяют даже верстать книги и не слишком сложные газеты. А все благодаря тому, что в каждой из таких программ воплощен опыт сотен тысяч пользователей, реализованный в программном коде талантливыми программистами.
Как правило, любой специализированный программный пакет рассчитан на некоторый круг задач, среди которых можно выделить некоторое количество стандартных, требующих однотипных решений. Эти решения позволяют разработать специальный инструментарий, использование которого практически не требует ни специальных знаний, ни особых навыков. Зато такая автоматизация обеспечивает быстрое получение требуемого результата при минимуме затрат времени на собственно программирование. В Microsoft Access 97 некоторой частью такого инструментария являются мастера по разработке форм. При некотором навыке разработчику несложных баз данных можно вообще обходиться только мастерами - примерно в девяноста пяти процентах всех случаев.

Правда, согласно давней традиции на тему бочек и меда, остаются еще те пресловутые пять процентов... Как правило, хоть одна форма, да попадется, которая ни под какой мастер не подходит. И приходится ее, болезную, полностью создавать вручную. Для этого в Microsoft Access 97 и предусмотрен режим конструктора. Кстати говоря, конструктор изучить, пусть даже поверхностно, нелишне еще и по той причине, что и созданные мастерами формы порой нуждаются в "точной подгонке".

Попробуем для практики создать простую форму, используя имеющийся в Microsoft Access 97 инструментарий. Для этого нужно перейти на вкладку "Формы" и нажать экранную кнопку " Создать". Это "вызовет к жизни" уже известный вам мастер по разработке форм. Среди имеющихся вариантов нужно выбрать самый первый, " Конструктор". Как уже упоминалось ранее, любая форма неразрывно связана с какой-нибудь таблицей или запросом. Чтобы не мучаться потом, в этом же мастере следует указать источник данных. Допустим, это будет таблица "Литература".

 После того как вы нажмете " ОК", на экране монитора появится специальное окно, в котором вы и будете создавать свою уникальную форму (см. рис. 1).

Собственно говоря, это самая обычная форма, только находится она в режиме конструктора, допускающем редактирование любых ее элементов. Кроме самой формы, если вы ничего не перенастраивали, Microsoft Access 97 выводит дополнительную инструментальную панель (см. рис. 2), на которой сосредоточены наиболее часто применяемые рабочие инструменты для работы с формами.

Поле любой формы состоит из трех важных областей: заголовок, область данных и область примечаний. Но, по умолчанию, Microsoft Access 97 создает новую форму, состоящую только из области данных, как это видно на рис. 1. В сем кроется важный смысл. Дело в том, что каждая из областей имеет свое собственное назначение, что позволяет создавать самые функционально разные формы. Область заголовка существует для тех элементов, которые носят общий характер. Например, это могут быть наименования столбцов в ленточных и табличных формах. Названия самих форм также помещаются в область заголовка. Область данных предназначена для размещения на ней самой представляемой информации. Информация может выводиться в обычные поля, в поля со списком, в виде переключателей и так далее. Область примечаний существует для вывода всяческих пояснений и подсказок, если такое будет признано необходимым. Обычно не так уж часто требуется предусматривать в формах дополнительные пояснения. Как правило, достаточно подобрать информативные названия полей, но случаи бывают разные, и иногда без специальных комментариев просто не обойтись. Словом, в зависимости от обстоятельств вы можете применять только область данных, а можете перевести форму в полное представление.
 Это делается при помощи контекстно-зависимого меню мыши (см. рис. 3), выбирая режим ЗАГОЛОВОК/ПРИМЕЧАНИЕ ФОРМЫ.

Разрабатывая форму, следует помнить, что все ее элементы делятся на две большие группы. Первая, это, например, информационные надписи, является полностью автономной и ни с каким источником данных не связана. Вторая, например, поля ввода или переключатели, без связи с таблицей вообще теряет всякий смысл. Это определяет всю методику работы с указанными элементами.

Попробуем на новой форме создать броский заголовок, отражающий функциональное назначение данной формы. Для этого в области заголовка расположим информационную надпись.

Выбрав на инструментальной панели соответствующую пиктограмму, нужно перевести маркер мыши в левый верхний угол предполагаемой прямоугольной области для надписи и растянуть эту область до желаемого размера. В результате получится белый прямоугольник (см. рис. 4).  Если ошиблись, не беда, его можно свободно двигать по экрану, сжимать и растягивать, как душа пожелает, на худой конец, его можно удалить и создать заново. Этот прямоугольник является областью ввода надписи. Если поместить в него маркер ввода (мигающая вертикальная черта), то все, что с данного момента будет набираться на клавиатуре, будет немедленно отражено внутри прямоугольника. Допустим, такой надписью будет слово литература. После его ввода нужно нажать enter или кликнуть маркером мыши в любой другой области экрана - белый прямоугольник тут же станет прозрачным, а на фоне поля формы появится набранная вами надпись.

Теперь наступает черед ее форматирования. Размер и тип шрифта, если они должны быть отличными от установленных по умолчанию, изменяются стандартными инструментами, расположенными в верхней части экрана. Процедура точно та же, что и, например, в текстовом редакторе, разве что ее действие распространяется на всю надпись в целом. В выпадающем списке можно выбрать наиболее подходящий тип шрифта, а в таком же списке рядом - размер кегля. При помощи инструментов выравнивания надпись может быть принудительно определенным образом расположена относительно границ вышеуказанного прямоугольника. И так далее, и тому подобное. Стандартные инструменты позволяют буквально "разойтись на всю катушку", меняя цвет шрифта и раскраску фона, вводя тень под символами или специальные эффекты для самой области пояснительной надписи. Например, области можно придать видимость выпуклости или, наоборот, вдавливания.

Создание элементов, связанных с таблицами (запросами) и расположенных в области данных, представляет собой несколько более сложную процедуру. Для облегчения тяжелой жизни "программистов всей планеты" разработчики Microsoft Access 97 и тут предусмотрели множество вспомогательных мастеров. Принцип их работы везде одинаков. Указав, что вы хотите, вы вызываете тот или иной мастер. Различаясь по назначению, эти мастера полностью схожи по алгоритму работы. Любой из них задает четыре ключевых вопроса. Во-первых, данные из какой таблицы (запроса) предстоит брать? Во-вторых, из каких конкретно полей? В-третьих, какой ширины должен быть создаваемый элемент, чтобы он отображал информацию подробнее всего? В-четвертых, что делать с результатом: просто запоминать или помещать куда-то в другое место?

Рассмотрим упомянутый алгоритм на примере поля со списком. Выбрав соответствующий инструмент на панели и растянув прямоугольник выделения должным образом в области данных, вы попадете в окно мастера этого инструмента (см. рис. 5).  Первым шагом является определение общего назначения поля. Если оно является определяющим элементом, то нужно выбрать третий вариант ответа. В этом случае, в зависимости от выбора конкретного его содержимого, все записи связанной с формой таблицы будут отфильтрованы тем или иным образом. Если речь идет о вспомогательной информации, например о текущем состоянии заказа, то можно воспользоваться вариантом с фиксированным набором значений списка (вариант два). В нашем случае подходит только первый вариант, так как мы желаем видеть в списке информацию из соответствующей таблицы нашей базы данных.

После нажатия экранной клавиши " ДАЛЕЕ" мастер задаст еще один вопрос (см. рис. 6).  В зависимости от положения переключателя " Показать" мастер приведет перечень только таблиц, только запросов или и то, и другое вместе. Вам нужно только указать ту таблицу или запрос, которые послужат источником записей для наполнения списка. Как мы условились, этим источником служит таблица ЛИТЕРАТУРА.

Следующим шагом (см. рис. 7)  является задание того поля (или сочетания полей) выбранного источника данных, которое будет использоваться для наполнения списка. Допустим, в качестве такового будет использовано поле " Наименование".

 Далее (см. рис. 8), мастер предложит растянуть правую границу столбца на желаемое расстояние в зависимости от величины имеющихся в списке записей.

 Потом (см. рис. 9), microsoft access 97 уточнит, что делать с результатом выбора. Форма может его просто "запомнить", а может и занести в какое-либо другое поле. Первый вариант удобно применять в том случае, если результат выбора используется в дальнейшем каким-нибудь программным модулем в качестве переменной для определенных надобностей. Второй вариант подходит для тех случаев, когда результат выбора служит своего рода росписью. Например, в зависимости от пожеланий клиента проданный товар может быть доставлен автомобильным или железнодорожным транспортом, о чем в конкретном месте бланка (записи базы данных) должна быть сделана специальная пометка. Мы, для простоты, воспользуемся первым вариантом. Последним этапом (см. рис. 10)  является задание наименования созданного поля. Оно может совпадать с истинным именем поля в таблице-источнике, а может и не совпадать - как вам покажется удобнее.

Все. После нажатия кнопки " ГОТОВО" мастер заканчивает генерацию данного элемента и прекращает свою работу. Элемент готов. Если переключить форму из режима конструктора в режим собственно формы, то результат можно будет немедленно "потрогать руками". В том случае, если что-то не так, можно вернуться в режим конструктора и подправить выявленные недостатки (расположение, пояснение, размер и т.д.).

На самом деле, мастер никаких чудес не выполняет. Вся его работа сводится к надлежащей настройке свойств конкретного объекта. При желании, а также ради практики, можно самостоятельно в них забраться и заняться настройкой в ручном режиме. Если навести маркер мыши на рамку выделенного объекта, вызвать контекстное меню и выбрать там режим СВОЙСТВА, то появится специальное настроечное окно (см. рис. 11).
Оно содержит абсолютно все свойства объекта. Эти свойства можно менять в зависимости от обстоятельств, от личных пристрастий или желания заказчика.

Вот, собственно, и все. От того, какую конкретно форму вы хотите создать, вами будут использоваться те или иные элементы, но принцип работы с ними совершенно одинаков. Увы, размеры газетной статьи не позволяют пройтись по каждому из них подробно, но можете мне поверить, достаточно приготовить омлет из одного яйца, чтобы научиться готовить омлет на сто персон. Тут, как и в любом другом деле, важна прежде всего практика. 
Александр Запольскис


Компьютерная газета. Статья была опубликована в номере 21 за 1999 год в рубрике soft :: субд

©1997-2024 Компьютерная газета