Файл: Освой самостоятельно программирование для MS Access 2002 за 24 часа [П.Киммел].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.10.2020
Просмотров: 7890
Скачиваний: 25

После установки надстройки желательно протестировать ее в реальных условиях. Об-
ращайтесь к процедурам модуля Logutilities во всех случаях, когда посчитаете необхо-
димым. Подобные вызовы естественно размещать внутри блоков обработчиков ошибок —
здесь практически всегда в вашем распоряжении имеется объект Err, обладающий исчер-
пывающей информацией о последней ошибке. Достаточно вставить строку кода Call
(Err) сразу после строк, содержащих обычные инструкции обработки
ошибок. Пример использования кода приведен в листинге 23.4. Чтобы просмотреть табли-
цу LOG, выберите соответствующий элемент меню
Надстройки.
Еще одно дополнительное замечание. Средства ведения протокола ошибок легко вклю-
чать и отключать с помощью условных директив компилятора, добавив модуль с двумя
процедурами, аналогичными
и WriteErrorEntry. Подробнее о директивах
компилятора см. главу "18-й час. Обработка ошибок во время выполнения программы".
Подведем итоги
Вам абсолютно не помешает еще раз повторить все действия, которые необходимо
выполнить в процессе создания надстройки Access. Сказанное далее, справедливо в от-
ношении любой надстройки, оформленной в виде базы данных. Не забывайте о двух
моментах: чтобы воспользоваться возможностями повторного применения кода, вовсе
не обязательно создавать надстройки; для построения надстроек в формате объектов
СОМ следует прибегнуть к более мощным средствам программирования — например,
Visual Basic. (Visual Basic — это самостоятельный язык, обладающий собственной интег-
рированной средой; он распространяется в составе Microsoft Visual Studio. Завершив
изучение нашей книги, вы наверняка сможете изучить и Visual Basic.)
1. Создайте базу данных с расширением имени файла MDA.
2. Постройте в базе данных надстройки все необходимые модули, классы, формы и
другие объекты.
3. Создайте таблицу
и не забудьте указать в ней имя процедуры или
функции, служащей точкой входа надстройки. (Для построения таблицы вы можете
регулярно пользоваться командой листинга 23.7 и содержимым табл. 23.1. Вероят-
но, имеет смысл всегда называть процедуру, используемую в качестве точки входа
надстройки, одним и тем же именем.)
4. Перед установкой надстройки тщательно ее протестируйте.
5. Инсталлируйте надстройку средствами диалогового окна Диспетчер надстроек.
Перечисленные выше моменты на самом деле более полезны, чем может показать-
ся на первый взгляд. Надстройки — одно из самых мощных средств автоматизации
выполнения рутинных операций. Именно таким образом созданы хваленые мастера
Microsoft. И наконец, последнее — если позволяет бюджет, покупайте готовые над-
стройки Access, чтобы избежать необходимости самостоятельного программирования.
Резюме
Настройки Access предлагают в ваше распоряжение мощные средства управления
всеми компонентами интегрированной среды системы. Применив навыки програм-
мирования, вы сможете настроить (или
надстроить?)
Access самым непредвиденным
образом — разумеется, если в этом есть серьезный практический смысл.
В ходе занятия вы ознакомились со способами создания, тестирования и установ-
ки надстроек в среде Access. Надстройки — полноценный товар и удобное средство
обмена готовыми решениями.
Не забудьте прочесть разделы "Вопросы и ответы" и "Задания", завершающие эту
главу.
23-й час. Надстройки Access 425

Вопросы и ответы
Вопрос. Возможно ли одновременное использование средств DAO и ADO в пределах
одного приложения?
Ответ.
Да. Воспринимая
и ADO как обычные классы (именно так и следует к
ним относиться), вы, разумеется, можете создавать и их объекты. Единственная по-
тенциальная опасность заключается в том, что названия некоторых атрибутов этих
классов совпадают.
Вопрос. Можно ли воспользоваться классом из состава
Ответ.
Да, но не напрямую. Потребуется создать в модуле надстройки дополни-
тельную функцию, возвращающую объект класса. Определение переменной такого
класса в модуле, не принадлежащем надстройке, не допускается.
Вопрос. Удаляется ли исходный файл
после установки надстройки в папку
Ответ.
Нет. У вас остается две копии базы данных — не забывайте о необходимо-
сти их синхронизации.
Вопрос. Как поступить, если надстройка содержит процедуру или функцию с таким же
именем, какое используется в рабочем модуле приложения?
Ответ.
Перед именем процедуры из состава надстройки введите префикс в виде
названия надстройки и символа точки, например
FileExists.
Задания
Ниже приведены тестовые задания и упражнения, которые помогут вам самостоя-
тельно проверить уровень освоения материала, изложенного в этой главе. Ответы на
вопросы вы найдете в приложении.
Тесты
1. С какой целью файлы баз данных надстроек Access обозначаются расширением
имени
2. Как называется таблица, которую необходимо создать в базе данных надстройки
для обеспечения возможности ее регистрации?
3. Методы Property могут
созданы в обычном, не "классовом", модуле. Верно
ли это?
4. Использование
Public и Private допустимо в пределах обычного
модуля. Верно ли это?
5. Что означает константа IACCDIR?
1. Создайте условную конструкцию, которая проверяет факт существования таблицы
LOG и в случае необходимости вызывает процедуру CreateTable.
2. Приведите выражение для тестирования процедуры
3. Создайте пустую базу данных, определите ссылку на базу
и вызовите проце-
дуру WriteEntry. Будет ли в результате этого обращения построена таблица LOG?
426 Часть VIII. Объектно-ориентированное программирование в Access

24-й час
информацией
о контактах Outlook
Outlook, приложение из состава Microsoft Office XP, с точки зрения особенностей по-
строения относится к числу
серверов OLE Automation
(или просто
серверов автоматиза-
ции).
Это означает, что программа Outlook способна выполняться самостоятельно и вы-
зываться из среды других приложений. Outlook служит для управления самыми разнооб-
разными данными — сообщениями электронной почты, сведениями о контактах, распи-
саниями, задачами и т.п. На этом занятии будут рассмотрены способы создания кода на
языке
в среде Access для использования Outlook в качестве программного агента,
управляющего информацией о контактах в приложениях баз данных.
Код VBA, который мы построим в ходе занятия, предназначен для управления
информацией о контактах с помощью средств Outlook. Это наглядный пример опера-
ций, для выполнения которых, по большому счету, и предназначен пакет приложений
Office XP — мощный комплекс гибко взаимодействующих программ, позволяющих
автоматизировать решение множества офисных задач.
Навыки, полученные вами на прошлых занятиях, непременно пригодятся. К на-
стоящему моменту вы уже достаточно хорошо осведомлены, например, о способах по-
строения и использования классов и их объектов. Создавая экземпляр Outlook в среде
приложения Access, мы будем "общаться" с объектами самым "тесным образом".
Основные темы занятия.
• Объектная модель Outlook.
• Применение папок Outlook.
• Просмотр, изменение и поиск данных в папках Outlook.
• Использование почтовых средств Outlook в прикладных программах.

Знакомство с Outlook 2002
Microsoft Outlook 2002 — это стандартное Windows-приложение, которое поддер-
живает функции сервера OLE Automation. Программа Outlook была создана, чтобы
помочь пользователю справиться с лавиной информации — почтовыми сообщениями,
сведениями о контактах, расписаниями и прочими данными, а в конечном итоге -
сберечь драгоценное время.
Приложение Outlook просто незаменимо в управлении телефонными номерами и
адресами электронной почты. Обращайтесь к помощи Outlook, если необходимо со-
ставить расписание заданий, которые предстоит упорядочить во времени и завершить
в срок. Если вы хотели бы обмениваться почтовыми сообщениями с коллегами по ра-
боте или внешними абонентами, Outlook и тут придет вам на помощь. Функции веде-
ния календаря "поучаствуют" в планировании встреч, а в разделе заметок вы сможете
быстро завязать "узелки" на память.
Новый термин
Контроллер автоматизации
— это приложение, которое использует или
управляет серверами автоматизации, например Outlook.
Нет ничего удивительного в том, что многим приложениям требуются одни и те
же функции. Но вовсе не обязательно всякий раз создавать их с нуля — вероятно,
просто глупо пытаться заново воспроизвести все возможности, предлагаемые тем же
Outlook. Если в программе для Access, над которой вы трудитесь, понадобятся те или
иные (а может быть, даже все) функции, выполняемые Outlook, просто воспользуй-
тесь копией Outlook, Воспринимайте Outlook как еще один объект, код которого дос-
тупен для повторного использования. Ниже рассказывается, как этого добиться.
Объектная модель Outlook
Пытаясь представить Outlook в виде объекта, средства которого можно применить
в собственном приложении, помните, что это не совсем обычный объект, как, ска-
жем, переменная Collection. Outlook
весьма громоздкое сооружение, состоящее
из множества других объектов, каждый из которых, в свою очередь, содержит свойст-
ва, методы... и вложенные объекты. Впрочем, все это отнюдь не означает, что "класс"
Outlook принципиально неуправляем или непостижим. Немного терпения, чуть-чуть
времени на знакомство с документацией — и работа закипит.
Итак, рассмотрим объектную модель, лежащую в основе Outlook. (Напомним, что
объектная модель охватывает аспекты внутренней организации приложения, а не его
внешнего представления, доступного пользователям.)
1. Запустите на выполнение Microsoft Outlook 2002.
2. Выберите в строке меню команду
Редактор Visual Basic
Basic Editor).
здесь доступен тот же самый, хорошо
знакомый редактор Visual Basic. Если вы все еще не удосужились его инсталлиро-
вать — мы допускаем и такую, почти невероятную, мысль, — сделайте это хотя бы
сейчас. Программа инсталляции Office XP по умолчанию устанавливает далеко не
все компоненты пакета.)
3. Перейдя в окно приложения Microsoft Visual Basic, нажмите клавишу <F1>.
4. В окне запроса Помощника введите ключевую фразу поиска
Microsoft Outlook
Objects
и щелкните на кнопке Найти (Search).
428 Часть VIII.
программирование в Access

?
Если Помощник Office
находится на экране, его можно
скрыть с помощью команды контекстного меню. Щелкните на
Помощнике правой кнопкой мыши и в контекстном меню выберите
команду Параметры (Options). На вкладке Параметры снимите флажок
Использовать помощника (Use the Office Assistant). Помощник будет
скрыть, но вы по-прежнему можете обращаться к мастеру вопросов.
(Более подробную информацию о Помощнике можно получить по
адресу
Кроме того, примите во внимание, что ссылка на объектную модель
может не работать корректно. Если в строку поиска справочной
системы Visual Basic ввести Microsoft Outlook Objects, раздел справки
найден не будет. И только заменив Outlook на Outloo, вы получите
нужный результат.
В окне приложения оперативной справочной системы Microsoft Visual Basic откро-
ется страница указанной темы, отображающая графическую диаграмму иерархии
классов Outlook. Щелчок на любом из элементов диафаммы вызывает переход к соот-
ветствующей странице справки. Легко заметить (труднее
что "класс" Outlook
состоит из множества различных объектов. За каждым из них скрывается собствен-
ный, зачастую достаточно сложный, интерфейс.
Хотя на первый взгляд ситуация кажется довольно мрачной и обескураживающей,
мы все же выйдем на верную дорогу, и вскоре, вы наверняка сможете воспользоваться
инструментами Outlook для успешного решения собственных прикладных задач.
экземпляра Outlook
В основе иерархии объектов Outlook лежит объект класса Application. Объект с
тем же именем образует верхний уровень интерфейса всех других компонентов Mi-
crosoft Office XP, поддерживающих архитектуру серверов OLE Automation. Экземпляр
Outlook строится совершенно так же, как и объекты всех других классов. Следуя при-
веденной ниже инструкции и используя код листинга
вы сможете создать объект
Outlook в среде прикладной
Access и зафузить приложение Помощник
Microsoft Office.
1. Зафузите Access и создайте базу данных.
2. В окне База данных (Database) выберите элемент Модули (Modules) списка Объекты
(Objects).
3. Щелкните на кнопке Создать (New) панели инструментов.
4. Введите код, приведенный в листинге
и выполните его.
Листинг 24.1. Демонстрационная процедура для создания объекта Outlook и запуска
приложения Помощник Microsoft Office
1: Sub
)
2: Const ClippitFile =
Dim Outlook As Object
4: Set Outlook =
)
5:
= ClippitFile
= True
7:
= 22
8 : End Sub
24-й час. Управление информацией о контактах Outlook
429