Файл: Освой самостоятельно программирование для MS Access 2002 за 24 часа [П.Киммел].pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2020

Просмотров: 7932

Скачиваний: 25

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Рис. 19.16. Панель элементов позволяет быстро пополнить

форму необходимыми стандартными интерфейсными элемен-
тами

 —

 объектами Поле, Надпись и т.п.

Размещение интерфейсного элемента в форме называют

 рисованием.

 Чтобы нари-

совать элемент, щелкните на соответствующей ему кнопке Панели элементов, а затем

в нужном месте формы. Положение, форму и размеры элемента в форме легко изме-

нить с помощью мыши. Диалоговое окно свойств предоставляет доступ ко всем атри-

бутам визуального объекта. Чтобы, например, разместить на форме MUSIC объект, со-

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

1. Откройте форму MUSIC в режиме конструктора.

2. С помощью команды

 элементов откройте одноименную панель инст-

рументов.

3. Щелкните на кнопке Рисунок (Image) (все кнопки панели снабжены всплывающи-

ми подсказками, облегчающими поиск нужного элемента).

4. Переместите указатель мыши в нужное место формы и щелкните левой кнопкой

мыши.

5. Откроется диалоговое окно Выбор рисунка (Insert Picture), позволяющее указать

требуемый графический файл.

6. Выберите файл, содержимое которого должно отображаться в границах вновь по-

строенного объекта, и щелкните на кнопке ОК.

Приведенная инструкция — с незначительными поправками — пригодна для опи-

сания действий по размещению на форме объектов всех других видов. Программисту,

использующему

 ныне доступны тысячи разнообразных компонентов, хотя

Панель элементов представляет всего 18 "самых" стандартных. Каждый день в мире

создаются новые полезные визуальные компоненты.

Выбор дополнительных элементов управления

Панель элементов позволяет обратиться к дополнительным визуальным компонен-

там, зарегистрированным в вашей копии операционной системы Windows. Для этого

щелкните на кнопке Другие элементы (More Controls), помеченной пиктограммой в

виде пересекающихся молотка и гаечного ключа.

Существует настолько широкое множество дополнительных компонентов, что для

исчерпывающего описания их свойств, методов и событий требуются десятки тысяч

страниц технической документации. Обращаясь к "нестандартным" средствам, пола-

гайтесь на фирменные руководства и системы оперативной справки, содержащие всю

необходимую информацию.

Использование невизуальных компонентов

В составе Панели элементов имеются ссылки только на визуальные интерфейсные

компоненты. Впрочем, в своем приложении вы можете использовать и невизуальные

элементы. Например, элементы библиотеки Microsoft ActiveX Data Objects 2.5 Library

не представлены на панели элементов в виде пиктограмм.

Чтобы снабдить приложение дополнительными

 выберите в окне

редактора Visual Basic команду

 и в одноименном диалоговом окне

установите флажки тех интерфейсных библиотек, средствами которых хотите восполь-

зоваться. Нетрудно заметить, например, что библиотеки Visual Basic for Applications,

 час. Создание экранных форм 345


background image

Microsoft Access 10.0 Object Library, OLE Automation, Microsoft ActiveX Data Objects 2.5
Library выбраны по умолчанию.

В диалоговом окне References перечислены названия файлов динамических биб-

лиотек, компонентов ActiveX и серверов OLE Automation, зафиксированных в базе

данных реестра Windows. Эти библиотеки располагаются на жестком диске компьюте-

ра в виде файлов с расширениями

 Каждая из библиотек содер-

жит классы, характеризующиеся наборами свойств и методов, а некоторые обеспечи-

вают и реакцию на определенные события. Все классы, как правило, располагают

описаниями в виде файлов оперативной справки — ищите и изучайте.

Создание программного кода формы

После присваивания свойству Наличие модуля формы значения Да Access создает

модуль, связанный с формой. Подобные модули не отображаются в списке Модули

окна базы данных. Чтобы получить доступ к модулю формы, откройте форму, а затем

выберите в строке меню команду

Окно редактора модуля формы используется для написания кода, расширяющего

возможности формы. Разновидностями кода, который может присутствовать в модуле

формы, являются обработчики событий и обычные процедуры. Код формы создается

точно так же, как и любой другой. Следует особо отметить единственное обстоятель-

ство — код модуля формы имеет отношение только к тем объектам, которые принад-

лежат форме.

Из тела обработчика можно вызвать любые процедуры. Рекомендуем последова-

тельно придерживаюсь такого правила: код обработчика события целесообразно раз-

мещать в отдельной процедуре или функции, а не в самом обработчике. Например,

листинг

 соответствует ситуации, когда заголовок формы изменяется в обработчи-

ке события Load. Это не очень удачный вариант действий, поэтому следует внести

небольшие изменения, которые помогут сделать код более наглядным и дадут воз-

можность его повторного использования. Листинг 19.2 содержит исправленную вер-

сию примера, представленного в листинге

Листинг 19.2. Исправленный вариант примера листинга

Private Sub

 )

Caption = "Моя музыкальная

End Sub

Private Sub

 }

SetCaption

End Sub

Внешне код листинга 19.2 выглядит более сложным, нежели в предыду-

щем примере. Однако новая процедура SetCaption, которая должна из-

менить заголовок формы, предельно проста и (что немаловажно) удачно

названа. При необходимости она впоследствии может быть вызвана и из

других частей программы. Следует отметить, что код вовсе не нуждается

в дополнительных комментариях.

Конечно, листинг 19.2 решает довольно упрощенную задачу. На практике приходит-

ся иметь дело с более сложными проблемами, и именно в таких случаях рассмотренный

подход проявляет всю свою плодотворность и эффективность. Код, который не имеет

прямого отношения к управлению объектами формы, лучше сохранять в отдельном мо-

дуле. Избегайте построения чрезмерно обширных обработчиков событий и не "привя-

зывайте" к форме слишком большие фрагменты кода. Размышляя над тем, где целесо-

346

Часть VII. Проектирование интерфейса пользователя


background image

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

Расширенные возможности редактирования

Access 2002 имеет дополнительные комбинации клавиш, которые помогут при ре-

дактировании форм, а именно:

• клавиши <F7> и

 позволяют переключаться между режимами объекта

и кода активной формы соответственно;

• клавиша <F4> вызывает окно свойств;
• клавиши <Ctrl+<> и

 выполняют циклическое переключение между

доступными для активного объекта режимами. Например, при работе с

формой посредством этих клавиш легко переключиться из режима конст-

руктора в режим формы. Что еще удобнее, данные комбинации клавиш по-

зволяют переключаться между всеми режимами выбранного объекта. На-

пример, при работе с таблицами они производят переключение между ре-

жимами Конструктор (Design View), Режим таблицы (Table View), Сводная

таблица (PivotTable) и Сводная диаграмма

Немного практики — и вы поймете, насколько удобно пользоваться этими горя-

чими клавишами.

Расширенные возможности форм и отчетов

В Access 2002 формы и отчеты имеют новые свойства, методы и события. По срав-

нению с предыдущей версией программы, новшества небольшие, но весьма полезные.

Новые свойства форм и отчетов

В Access 2002 меню

 Параметры запуска

 имеет опцию

Значок приложения (Application Icon). Вы можете использовать для форм и отчетов

собственные пиктограммы.

Новые свойства появились и у объекта Report. Отчеты могут отображаться в мо-

дальных окнах.

 (Модальным

 называется окно, находящееся в фокусе до тех

 пока

его не закроют. Прежде чем выполнять иные действия, пользователь должен закрыть
окно с отчетом.) Кроме того, можно изменять свойства Тип границы (BorderStyle),
Автоматический размер (AutoResize), Выравнивание по центру (AutoCenter),
Кнопки размеров окна (MinMaxButtons), Кнопка закрытия (CloseButton) и Кнопка
оконного меню (ControlBox) объекта Report.

Чтобы изменить свойства объекта Report, выберите его из списка объектов. От-

кройте отчет, который вы хотите изменить в режиме конструктора, и нажмите клави-
шу <F4> с целью вызвать окно свойств. Большинство указанных выше свойств имеют
значения Да/Нет (Yes/No). Чтобы кнопка оконного меню (рис. 19.17) не работала, ус-
тановите значение соответствующего свойства равным Нет.

О создании модальных окон см. раздел "Построение отчета" далее в этой главе.

 час. Создание экранных форм 347


background image

 Name

THE CAPITOL

 19.17. Выбрано меню Размер

Новые события форм

В Access 2002 имеются новые события

 и OnRecordExit на уровне формы,

а также OnDirty и OnUndo на уровне элемента управления. Событие OnUndo формы
вызывается, когда пользователь в Access нажимает клавишу <Esc> или выбирает ко-
манду меню

 Событие OnUndo на уровне элемента

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

 Событие OnRecordExit происходит при

перемещении к другой записи.

Каждое из этих событий имеет один целочисленный аргумент Cancel. Если Can-

cel равен True, любое событие — OnUndo, OnDirty, OnRecordExit — не происходит.
Например, если обработчик события Form_OnDirty устанавливает Cancel = True,
вы не сможете изменить данные в форме.

Новые методы форм и отчетов

Объекты Form и Record имеют теперь новый метод Move, принимающий аргумен-

ты Left, Top, Width и Height, которые определяют положение и размер объектов.

Вызывается метод следующим образом:

Call

 (О, О, 2000, 1500)

Новые значения параметров

 и Тор равны 0, ширина (width) — 2000, а высо-

та (Height) — 1500 твипсов (1 твипс равен 1/1440 дюйма).

Форма подотчета

Теперь при добавлении

 или подотчета их можно увидеть в отдельном

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

В отдельном окне

 in own window).

348

Часть VII. Проектирование интерфейса пользователя


background image

Тестирование формы

Если форме соответствует программный код, то он должен быть протестирован.

Получив из "рук" мастера готовую форму, вы можете, используя режим просмотра
формы (команда

 формы), быстро оценить, что еще необходимо сделать —

добавить или удалить какие-либо объекты, отредактировать их свойства либо, скажем,

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

 час.

Отладка кода" и "18-й час. Обработка ошибок во время

 программы".

В противном случае вы не будете иметь никаких гарантий правильности и надежно-
сти разработанных программных решений.

Построение отчета

Отчеты, как и формы, можно построить с помощью мастеров. Помните, что суще-

ствующий отчет — это объект, со своими собственными свойствами, методами и со-
бытиями. В Access всеми свойствами объекта можно управлять во время разработки
из окна свойств, а также во время исполнения с помощью кода. Чтобы использовать
объект, например Report, ознакомьтесь с его свойствами, методами и событиями и
напишите код для управления отчетом так, чтобы добиться ожидаемого результата.

Откройте Access и из списка Объекты выберите Отчеты (Reports), дважды щелкните

на ссылке Создание отчета с помощью мастера (Create report by using wizard). Появится
мастер отчетов, который работает аналогично мастеру форм. В базе данных MUSIC выбе-
рите одноименную таблицу. Задайте все нужные поля и щелкните на кнопке Готово
(Finish). Вы получите образец отчета, представленный на рис. 19.18 в режиме предвари-

тельного просмотра (Print Preview). Чтобы изменить отчет, перейдите в режим конструк-
тора, выбрав команду

 Отчет в режиме конструктора похож на форму.

Настройте отчет, изменив его свойства и создав код, влияющий на его поведение.

 1

Рис.

 Макет отчета, созданный с помощью мастера

 час. Создание экранных форм 349