Диго С.М. Базы данных проектирование и использование (1084447), страница 53
Текст из файла (страница 53)
Несмотря на такое широкое применение экранных форм для реализации разных целей, основное внимание далее уделим их использованию для организации ввода данных в БД, потому что, во-первых, это является одним из основных назначений экранных форм; во-вторых, именно этот аспект наиболее значим для процессов создания и ведения БД; в-третьих, такие функции, как создание меню, вывод информации из БД и т.п., могут выполняться с использованием и других средств СУБД.
8.2. Рекомендации по созданию форм
Как было отмечено выше, существуют разные типы экранных форм, и некоторые требования/рекомендации по созданию форм относятся ко всем типам форм, а некоторые - только к отдельным их разновидностям.
Рассмотрим основные рекомендации по созданию форм.
-
Порядок размещения элементов в форме будет зависеть от типа и назначения формы.
Порядок расположения полей на экране для форм, использующихся для вывода информации, определяется в основном смысловой группировкой информации, удобством для восприятия. Так как информационные потребности разных пользователей могут различаться, то в принципе на основе одного и того же источника (таблицы, запроса) может быть создано несколько разных экранных форм, ориентированных на разные запросы пользователей, с соответствующим составом и порядком следования полей.
Для форм, предназначенных для ввода данных в БД, порядок размещения полей ввода на экране также может не совпадать ни с порядком полей в структуре базы данных, ни с порядком их ввода (определяемого обычно расположением соответствующих данных во входном документе, с которого проводится ввод данных). Порядок же перемещения курсора при вводе данных должен соответствовать порядку следования вводимых полей в исходном документе. Если порядок размещения полей на экране не соответствует требуемому порядку ввода данных, то некоторые СУБД дают возможность изменять (задавать) порядок ввода данных (т.е. последовательность позиционирования курсора при переходе от одного элемента к другому). Если СУБД не позволяет задать произвольный порядок перемещения курсора между полями, то порядок следования полей в форме ввода должен соответствовать последовательности их ввода. Вообще, даже если возможность задавать порядок обхода полей есть, лучше, чтобы для форм, использующихся для ввода данных, порядок расположения полей в форме совпадал с порядком их расположения во входном документе.
-
Если форма предназначена для ввода данных, то из нее могут быть исключены поля, которые автоматически вводятся в БД и не могут быть изменены пользователем (например, поле счетчика, вычисляемые поля).
-
Средства современных СУБД обладают разнообразными возможностями по оформлению экрана. При выборе стиля оформления экрана желательно выполнять следующие рекомендации:
-
не стоит злоупотреблять использованием цветов, шрифтов и
других оформительских эффектов; оформление экрана не должно
отвлекать от выполнения основных функций; -
яркие цвета (например, красный) лучше использовать только
для целей привлечения внимания (например, при сигнале о существенной ошибке); -
следует быть осторожными при изменении размера шрифта для
значений полей, так как при его увеличении текст может не уместиться в отведенное ему окошко и пользователю придется вручную подгонять поля к новому размеру текста; -
на разных экранах одного приложения рекомендуется использовать единый стиль, выражающийся не только в оформлении, но и в расположении информации; обычно верхняя часть экрана используется как заголовочная, средняя - как основная рабочая зона, нижняя - для размещения итоговых данных, если они имеются, а также в качестве зоны вывода подсказок;
-
не следует перегружать форму большим числом элементов; при необходимости размещения в форме большого количества данных лучше распределить информацию между несколькими «страницами», чем нагромождать множество элементов на одном экране, использовать мелкий шрифт и т. п.
-
В настоящее время значительно возросли возможности задания настройки формы во время ее использования. Так, некоторые системы (например, Access) позволяют для отдельных элементов формы указывать, выводится этот элемент всегда, только на экран или только на печать (свойство «режим вывода»). Возможно создание форм, которые могут во время работы переключаться для выполнения нужной функции (например, ввода или редактирования данных). И если раньше, отчасти из-за сложности реализации, при проектировании ИС обычно создавались отдельные формы для каждой операции, использующей их для работы с БД (для ввода данных, корректировки отдельных полей, для просмотра и вывода информации на экран или печать), то сейчас появились возможности сравнительно просто реализовывать сложные многофункциональные формы. Но при создании таких форм не следует забывать данные выше рекомендации (см. п. 3д).
-
В формах, используемых для ввода информации, обычно задаются ограничения целостности. Во многих современных СУБД имеется возможность задавать ограничения целостности различными способами. При проектировании системы необходимо тщательно спланировать, какие ограничения целостности и каким способом будут задаваться.
Возможности задания ограничений целостности при описании таблицы могут при «несистемном» проектировании привести к нежелательным последствиям. Предположим, вы создали несколько форм для ввода данных в одну таблицу (например, первая форма -для ввода данных с одного документа, вторая форма - с другого), а в таблице определено несколько обязательных полей, часть из которых должна вводиться посредством первой формы, а другая часть - посредством второй формы. В этом случае частичный ввод данных из одной формы, а потом добавление данных из другой будет невозможно выполнить.
В силу имеющихся ограничений целостности часть полей является обязательной для ввода, другая - нет. Для полей, обязательных для заполнения, можно использовать специальное цветовое выделение.
-
Применение экранных форм для ввода данных позволяет не только соответствующим образом оформить экран, обеспечить контроль правильности данных, но также использовать приемы для рационализации процесса ввода данных: выбор из списка, автоматический перенос данных из других таблиц (чаще всего это ключевые поля из связанной основной таблицы), задание значений по умолчанию, использование шаблонов и др. Причем выбор типа экранной формы будет влиять на возможности организации ввода информации.
-
Во всех формах одного приложения должно быть обеспечено единообразное выполнение одинаковых действий. Например, переход к следующим/предыдущим полю, записи, странице формы должен осуществляться с использованием одних и тех же клавиш при выполнении аналогичных действий в разных формах или одинаково оформленных и расположенных кнопок в экранных формах.
8.3. Создание экранных форм в СУБД Access
8.3.1. Выбор способа создания формы
Как было отмечено в главе 5, после описания таблицы можно сразу вводить в нее данные. Но такой способ имеет много очевидных недостатков, поэтому для целей ввода данных обычно используются так называемые экранные формы.
Форму можно создавать несколькими способами. Для того чтобы создать новую форму, необходимо выбрать вкладку Формы в окне базы данных и щелкнуть по кнопке Создать - появится окно Новая форма (рис. 8.2).
8.3.2. Создание форм с помощью Мастера
Создание простой связанной формы с помощью Мастера
При создании формы, связанной с таблицами базы данных, лучше сначала воспользоваться помощью Мастера, а потом модифицировать полученную таким образом форму. Это ускорит и упростит процесс создания форм.
В окне Новая форма, кроме выбора способа создания/вида формы можно определить также источник данных для создаваемой формы (см. рис. 8.2). Из этого окна можно выбрать только одну таблицу в качестве источника данных для формы. В качестве примера создадим форму для таблицы «Сотрудник». Выбор источника можно осуществить и на следующем шаге (рис. 8.3) в окне Таблицы и запросы.
Если источником должны являться несколько таблиц, то можно использовать разные способы, которые будут рассмотрены позднее.
Следующим шагом при создании форм является выбор полей, которые будут включены в экранную форму (см. рис. 8.3). Поля могут переноситься в форму по одному и все сразу. В первом случае необходимо позиционироваться на нужное поле и щёлкнуть по кнопке с одинарной стрелкой, направленной вправо. Чтобы перенести все поля, следует воспользоваться кнопкой с двойной стрелкой. Поля, включенные в форму, на этапе определения состава полей можно исключить, воспользовавшись кнопками со стрелками, направленными влево.
При использовании Мастера для создания формы выбор таблицы и хотя бы одного поля обязателен.
Источником данных для формы могут быть не только таблица (таблицы), но и запросы. Напомним, что в запросах можно задействовать знак «звездочка» (*). При его использовании все поля исходной таблицы выводятся в ответ. Если уже после создания такого запроса в таблицу будут добавлены новые поля, то они при выполнении запроса будут попадать в ответ. Если же на основе такого запроса создана экранная форма, то в нее войдут те поля, которые на момент создания экранной формы содержались в таблице. Поля, которые вставлены в таблицу после создания экранной формы, в экранной форме отражаться не будут. Поэтому, если необходимо, чтобы все поля исходной таблицы были отображены в форме, созданную форму придется корректировать вручную.
Предположим, что мы хотим создать форму на основе таблицы «Сотрудник» и включить в эту форму все поля исходной таблицы.
После определения состава полей, включенных в форму, следует выбрать внешний вид формы (рис. 8.4). Удобнее сначала выбрать вид «в один столбец» 11, а затем разместить элементы формы по экрану так, чтобы это было удобно для последующей работы с формой.
Следующим шагом является выбор стиля формы (рис. 8.5). Стиль экранной формы позволяет выбрать цвет и «фактуру» формы, т.е. решить чисто оформительские задачи.
Создание формы завершается заданием ее имени (рис. 8.6). По умолчанию дается имя, совпадающее с именем источника данных.
Созданная экранная форма может не полностью соответствовать потребностям разработчика. Чтобы ее подправить, можно сразу перейти в режим Конструктор, выбрав альтернативу «Изменить макет формы», а можно это сделать и потом, перейдя в режим Конструктор из режима формы или открыв ранее созданную форму в режиме Конструктор.
Создание многотабличной формы с помощью Мастера
Многотабличную форму также можно создать с помощью Мастера. При создании форм, источником данных для которых являются несколько таблиц, можно, находясь в окне Создание форм (см. рис. 8.3), последовательно выбирать таблицы, являющиеся источником данных, и поля из них. При этом таблицы должны быть обязательно предварительно связаны между собой.
Внимание! Порядок, в котором выбираются таблицы при создании «многотабличной формы», имеет большое значение.
Предположим, что мы хотим создать экранную форму, содержащую сведения из таблиц «Сотрудник» и «Дети». Если выберем сначала таблицу «Сотрудник» и из нее - поле «ФИО», а затем таблицу «Дети» и из нее - все поля, то создастся составная форма, которую удобно использовать для ввода данных в таблицу «Дети». Создание многотабличной формы начинается так же, как и создание однотабличной формы. На первом шаге выбираем способ создания формы -«Мастер форм» и таблицу-источник - «Сотрудник». На втором шаге из таблицы «Сотрудник» выберем поле «ФИО». После этого вернемся к окошку «Таблицы и запросы» и выберем в нем вторую, соподчиненную таблицу - «Дети» (рис. 8.7). Перенесем все поля из этой таблицы в форму.
Дальнейшая последовательность шагов создания составной фор
мы представлена на рис. 8.8 - 8.10. ,
Сначала выбирается вид представления данных - подчиненная или связанная форма (рис. 8.8). Для наших целей подходит подчиненная форма.