Интерфейс: учимся и осваиваем

Как сделать интерфейс так, чтобы и пользователю понятно и вам не проблемно. Давайте оставим в стороне большие кнопки красного цвета и посмотрим на картинки.
 
Все программисты сталкиваются с проблемой дизайна программных интерфейсов. Даже ответвление есть такое в дизайне. Но если у вас нет денег, чтобы оплатить работу модного дизайнера интерфейсов, то вчитываемся в ниженаписанное и делаем свои выводы.

Можно условно поделить все интерфейсы на кнопочные и менюшные. Здесь речь пойдет о втором варианте. Т.е. когда опорным моментом в управлении является меню.

Меню - это привычно, это удобно, это понятно. Чтобы создать свое меню, нужно нажать на панели инструментов правой клавишей меню, выбрать Настройка - Панели инструментов - Создать. Создаем свою панель. Дальше на нее курсор и выбираем свойства. Сразу же выставляем Строка меню и Изменения невозможны. Потом снимаем все галочки. Это чтобы никто строку с панели не утащил и не уничтожил.
Дальше вытаскиваем на панель все нужные кнопочки и создаем новые подменю.

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

Основные составляющие такой формы: список заказов (или подчиненная форма), свободные поля, кнопка поиска, кнопка перехода в заказ. Под словом "заказ" понимается некий объект, записи о котором вы вводите в базу.
В такой форме с помощью ограничения записей в списке (через поиск или фильтрацию) вы находите нужную запись, потом устанавливаете на ней курсор и нажимаете на кнопку изменения. И вы в форме изменения записи. Она же форма добавления записи.

Чтобы одна и та же форма работала на изменение и добавление, делаем следующее. Вызываем форму из поиска с параметром "idObj=" & Me.Lst_Obj, а когда нужно вызвать ту же форму на добавление, то вызываем ее через другую кнопку или пункт меню без параметров. В код на загрузку такой формы добавляем:

If Not Me.FilterOn Then
    DoCmd.GoToRecord acDataForm, Me.Name, acNewRec
End If

Получаем чистенькую форму, готовую к вводу записей. На кнопку Сохранить и Отмена вешаем классику DoCmd.Close, но перед этим добавляем в первом случае Me.Refresh, а во втором Me.Undo.

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


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=9195