ПРОГРАММИРОВАНИЕ В MS ACCESS
1. Visual Basic и его реализации.
Во все программы пакета MS Office в качестве средства их расширения включен интерпретатор языка программирования Visual Basic for Applications (VBA) версии 5.0. Этот язык представляет собой одну из реализаций семейства языков Visual Basic, в которое также входит компилятор Visual Basic версии 6.0, позволяющий создавать полноценные исполняемые программы, и интерпретатор Visual Basic Scripting Edition (VBScript) версии 2.0, функционирующий в программе-браузере Internet Explorer и служащий для создания динамических Web-страниц, а также интерпретатор Active Server Pages (ASP), реализующий язык сценариев на стороне Web-сервера Internet Information Server. Все эти реализации являются объектно-ориентированными, поддерживают обработку исключительных ситуаций и интерфейс с компонентами ActiveX (объектами OLE (Object Linking and Embedding - Связывание и внедрение объектов), то есть документами, подготовленными в одном приложении и включенными в документ другого приложения, оптимизированными для использования в Internet), имеют одинаковый набор базовых конструкций и отличаются, в основном, перечнем поддерживаемых классов объектов. Язык традиционно прост, гибок, позволяет взаимодействовать с большим количеством программ в среде операционных систем Windows 9x/NT и с самими операционными системами через предоставляемый ими интерфейс с прикладными программами (Application Program Interface, API).
К сожалению, все программы, входящие в пакет Microsoft Office’97, имеют несколько различные интерпретаторы VBA. Эти различия обусловлены разными объектовыми моделями документов, обрабатываемых в этих программах, что, в общем, естественно, однако различия в организации интерфейсов к одинаковым компонентам ActiveX вызывают немалые проблемы при организации их использования. Наиболее полными возможностями обладает интерпретатор VBA, входящий в комплект Microsoft Excel.
Необходимо отметить, что в пакете Microsoft Office’2000 интерпретаторы VBA различных программ пакета полностью стандартизованы и практически представляют собой полноценный вариант компилятора Visual Basic 6.0.
2. Макросы, модули и модули форм.
Для иллюстрации всех нижеследующих примеров создадим базу данных, содержащую одну таблицу с именем Table1 вида:
Макросы. В отличие от Microsoft Excel, макросы в Microsoft Access не могут быть записаны пользователем с целью автоматизации рутинных операций. Вместо этого, в Microsoft Access имеется фиксированный набор из 49 команд, которые могут быть использованы в макросах.
Для создания нового макроса необходимо открыть закладку “Макросы” в главном окне базы данных и нажать кнопку “Создать”. В открывшемся окне в левой колонке выбирается действие, выполняемое макросом, в правой - вводится комментарий к этому действию.
Рассмотрим простейший пример - создадим макрос, открывающий таблицу. Для этого, создав новый макрос, выберем действие ОткрытьТаблицу аргумента этого действия (в нижней части окна) выберем имя таблицы, которую необходимо открыть при выполнении макроса. Так же, как при создании таблиц, запросов и форм, при закрытии окна “Макросы” Вам будет предложено сохранить изменения и указать имя макроса. В отличие от Microsoft Excel, здесь имеется только одно предопределенное имя - AutoExec. Макрос с таким именем автоматически запускается при открытии базы данных. Заметим, что подобного же эффекта можно достичь с помощью диалога Параметры запуска из меню Сервис.
Для запуска макроса на выполнение можно также использовать непосредственный запуск (используется для проверки его функционирования), запуск из другого макроса (действие ЗапускМакроса с именем макроса в качестве аргумента), запуск из процедуры VBA (метод RunMacro объекта DoCmd с именем макроса в качестве аргумента), запуск в качестве реакции на событие, происшедшее с формой, отчетом или элементом управления, включая кнопку, запуск через пользовательскую команду меню, пользовательскую кнопку на панели инструментов или с использованием назначенного сочетания клавиш.
Заметим, что поскольку применение макросов не предполагает наличия у пользователя навыков программирования, данный вопрос может быть изучен самостоятельно, особенно при наличии установленной системы помощи Microsoft Access.
Модули. Гораздо больший интерес представляют модули. Как и в Microsoft Excel, модуль содержит тексты программ на языке VBA, реализованных в виде процедур (Sub) или функций (Function). Процедуры являются самостоятельными программными единицами, могут не иметь списка аргументов и возвращаемого значения, но могут быть вызваны из других процедур. Функции обязаны иметь список передаваемых в них параметров, должны возвращать значение (через имя функции) и, как правило, служат для реализации небольших, часто повторяющихся фрагментов кода, вызываемых из других функций или процедур. Процедуры и функции могут быть объявлены личными (Private), то есть предназначенными для вызова из других процедур этого же модуля, или общими (Public), то есть доступными из любой процедуры любого модуля базы данных. Ключевым словом Public описываются также глобальные переменные, однако такое описание должно находиться в специальной секции модуля - “Описания”.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.