|
Программирование >> Реализация целостности данных
ГЛАВА 15 эШ 8НШв упрйГЖ;дач fJOJShaOliatMbCH Еще несколько важных замечаний. Не используйте переключатели для моделирования отдельных логических значений. В Microsoft Windows нет механизмов, которые запрещали бы делать это, однако в силу сложившихся правил для моделирования отдельных логических значений используют другие элементы управления - флажки. Переключатели же применяют там, где пользователю предлагается выбрать один из нескольких взаимоисключающих параметров. Более того, используя переключатели (в особенности, расположенные рядом) для представления нескольких отдельных логических значений, вы опять-таки можете ввести пользователя в заблуждение: он подумает, что эти параметры связаны между собой, и из всего жества параметров нельзя выбрать более одного за один раз, причем при включении одного переключателя остальные автоматически будут выключены. Поскольку всякое расхождение между ожидаемым и реальным поведением системы раздражает пользователей, лучше придерживаться общепринятых правил. Наборы значений достаточно многочисленная элементов управления, позволяющая отображать наборы значений в формах. Какой элемент управления предпочесть - зависит от того, нужно ли пользователям выбирать только одно из значений в наборе (возможно, одну величину из некоего диапазона) или несколько значений одновременно, Выбор одного значения из диапазона Си гу.лн1>1, когда допустимость какого-либо значения определяется его присутствием в списке значений, встречается достаточно часто. Например, определенное значение (Номер покупа- теля) в записи в форме Orders (Заказы) допустимо тогда и только тогда, когда такой номер имеется в таблице Customers (Покупатели). Если вы решили свести к минимуму операции ввода пользователями данных с клавиатуры то поместите в разрабатываемую форму список покупателей и предоставьте пользователям возможность выбрать нужное значение из этого списка. Наиболее часто при этом используют два вида элементов управления - комбинированное окно и окно списка Их функции довольно сильно различаются, в первую очередь тем, что в комбинированное окно пользователи могут вводить которых еще нет в спис- ке. Как я уже упоминала, комбинированное окно лучше использовать для ввода записей, относящихся к связанной сущности. Даже если в разрабатываемой форме не предусмотрен ввод новых данных, комбинированное окно послужит для вывода списка значений - ведь многим пользователям понравится возможность искать значения по первым символам, введенным с клавиатуры. в Visual Basic существует три вида комбинированных списков (рис. 15-3), которые позволяют отображать пользователю весь список но-стоянно или только по требованию (последние называют раскрываю-списками). В же - только раскрывающиеся списки. Кроме того, в списках Visual Basic можно размещать флажки рядом с каждым значением из списка, а в Access - нет. Рис- 15-3. В Visual Basic существуем три вида списков Руководство The Windows Interface Guidelines for Software Design ( Руководство но разработке интерфейса для Windows-нриложений ) рекомендует задавать размер списка так, чтобы на экране менно отображалось от трех до восьми его элементов. Если размеры формы сильно ограничены, и весь список разместить на ней невозможно, используйте раскрывающиеся списки. Раскрывающийся список следует использовать, даже если он умещается в окне формы, но пользователю не нужно постоянно иметь его перед глазами. Например, из списка покупателей в форме Orders пользователь выбирает имя интересующего его покупателя, а мация о том, какие еше покупатели зарегистрированы в системе, ему не нужна. Однако иногда полезно предоставить пользователям возможность просмотреть все возможные значения величин, представленных в списке: например, если список или какое-либо из в нем значений часто обновляется. Так, в библиотеках различные книги сортируют по тематике. В автоматизированной системе регистрации и учета, предназначенной для библиотеки, для каждого отдельного наименования или тома определяется тематическая категория. При вводе информации о новой книге пользователь выбирает ветствующую запись из списка тем. Этот список постоянно пополня- ГЛАВА 15 Выборs/rgitKtiHTae упрелекш! юпьзтешжого 1иГ¥;)фе(1№1а ется и обновляется, поэтому пользователи, скорее всего, будут часто просматривать обновленный список тематических категорий, чтобы подходящую тему для данной книги или ввести новую, если ни одна из уже имеющихся не подходит. И в Visual Basic, и в Microsoft Access есть интереснейшая возможность - отображать пользователю не ту информацию, которая непосредственно хранится в таблице, :; лишь ее часть или данные из других таблиц. Например, если в качестве первичного ключа в таблице Cus-используется поле с автоматически зна- чениями или поле Identify, вам придется хранить это значение как внешний ключ в таблице Orders, но отображать пользователям данные шшнеся в этом поле, не имеет смысла. Вместе ени н первичного ключа таблицы Orders в форму Orders можно поместить список фамилий и имен покупателей (данные из таблицы Customers), из которого пользователи будут выбирать нужные значения. В Visual Basic это можно сделать, указав различные значения свойств Datafieldn ListField В Access используют несколько полей: одно - для хранения фамилий и имен, а другое - для хранения значений номеров покупателей. Затем следует привязать соответствующий элемент к полю таблицы в котором хранится номер покупателя, и отключить отображение номера пользователя, задав нулевую ширину поля. Возможность отображать значения нескольких полей таблиц в комбинированных окнах, поддерживаемая Microsoft Access, весьма удобна и часто применяется, Жаль, но в Visual Basic она отсутствует. Например, если в форме выводится список фамилий покупателей, может понадобиться предоставить пользователю дополнительную информацию: скажем, название города, где живет покупатель. В Visual Basic это можно сделать только при помощи вычисляемого поля, где выполняется конкатенация значений, хранимых в соответствующих полях данную операцию определяют, задав соответствующее значение свойства ListField. Это, конечно, не так удоб-в особенности если некоторые поля таблиц содержат пустые значения. Списки и комбинированные окна очень удобны, но их невозможно использовать, если список содержит слишком много значений, например, несколько сотен. В этих случаях приходится ограничивать число значений, которые пользователь будет видеть на экране, для чего обычно применяют фильтры. Можно предложить пользователю выбрать одну из букв алфавита (или регион, где расположены филиалы компании, или штат, где проживают а затем - из
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |