Чтобы прекратить выполнение формы, которую вы еще не снабдили кнопкой Отмена, щелкните на ее закрывающей кнопке, находящейся с самого края, справа в строке заголовка формы. Или нажмите и переключитесь в окно редактора Visual Basic, где можно щелкнуть на кнопке Reset (Остановить выполнение) панели инструментов.
Чтобы запустить форму в автономном режиме, вы должны находиться в окне редактора Visual Basic и использовать только что описанные приемы. Но форма создается для ее запуска из VBA-приложения, для чего вам нужно активизировать форму из программного кода, как рассказано дальше в настоящей главе, а сам программный код выполнить с помощью приемов, обсуждавшихся в главе 4.
Формы и элементы управления - программируемые объекты
Напомню еще раз, что формы и элементы управления - это полноценные объекты VBA. со своими свойствами, методами и событиями. Формы и элементы управления отличаются от других объектов лишь одним; вы можете менять их свойства в диалоговых окнах без программирования. Правда, для каждого элемента управления (за исключением некоторых надписей и фреймов) вам все же потребуется написать некоторый программный код. Да и формы тоже часто требуют программирования. Не забывайте об этом при обдумывании плана работ по своему проекту. Этап программирования в процессе создания форм обсуждается дальше в настоящей главе.
Один момент, касающийся форм в Microsoft Access: хотя для создания VBA программ в Access и используется стандартный язык VBA, а формы Access со своими элементами управления выглядят и работают точно так же, как и в других VBA-приложениях, формы Access все же не являются стандартными VBAформами. Свойства элементов управления в Access отличаются от свойств стандартных элементов управления VBA, поэтому формы, созданные в Access, и формы, созданные в других VBA-приложениях, не взаимозаменяемы.
Планирование форм для программы
Создавать формы в VBA легко и просто, но их проектирование в реальной программе требует тщательного планирования. Не забывайте, что формы являются частью большой программы, которая имеет вполне определенное практическое назначение. Поэтому, прежде чем начать забавляться с формами, уделите хотя бы немного времени следующим шагам.
1. Определите цель для своей программы.
Это потребуется, даже если в программе нет форм вообще, но если формы нужны, то при их создании всегда следует помнить о главной цели всей программы.
2. Для каждой из форм в программе определите ту специальную задачу, которую должна решать данная форма в русле главной задачи программы.
Какую информацию должна отображать форма, какая информация потребуется от пользователя и какие данные потребуются пользователю для того, чтобы решить, в какое русло направить выполнение программы дальше? Ответы на эти вопросы вы должны трансформировать в конкретные элементы формы.
3. Для каждой специальной задачи подберите тот элемент управления, который лучше всего подходит для ее решения.
Вы собираетесь попросить пользователя выбрать одну из нескольких взаимоисключающих возможностей? Тогда используйте кнопки переключателей. Но если возможности независимы, то лучше всего использовать флажки.
4. Решите, где именно разместить каждый из элементов управления в форме.
Критериями принятия решения должны быть важность выполняемой элементом управления задачи, вероятная частота использования, связь с другими выполняемыми задачами (чтобы знать, с какими другими элементами управления сгруппировать данный).
5. Выяснив все эти детали, сделайте (хотя бы мысленно) набросок общего вида своих форм.
Не размещайте в формах слишком много элементов управления. Разумное использование форм с множеством страниц уменьшает обшее число форм, но будьте готовы также добавить в проект формы, если это поможет избежать беспорядка и упростить использование форм.
6. После того как вы учтете все вышеописанные практические детали, можете подумать об эстетических элементах.
Будет ли особый шрифт на кнопках или стрелки в виде ракет на кнопках прокрутки помогать пользователю работать с формой? В разумных пределах правильно подобранные цвета, шрифты и изображения, несомненно, привлекают интерес, но неумеренность здесь вызовет только раздражение.
Я не говорю, что вы должны потратить полжизни на абстрактное планирование. Просто даже общее представление о том, что нужно получить, поможет в разработке пробной версии и тестировании ее в надежде выяснить, что в конце концов будет работать, а что - нет.
Читать дальше