
- •Основы языка Visual Basic for Applications Введение
- •Стандартные модули и модули класса
- •Окно редактора кода vbe
- •Раздел описания
- •Отображение модулей
- •Создание процедуры
- •Редактирование в окне модуля
- •Аргументы процедуры
- •‘Пересчет цены в рублях в цену в долларах’
- •Основные операторы vba Переменные и оператор присваивания
- •Типы данных
- •Математические функции и операторы
- •Логические операторы
- •Ввод данных
- •Вывод данных
- •Условные операторы
- •Операторы цикла
- •Процедура-функция для обработки событий в формах
- •Применение процедур-подпрограмм
- •Выполнение кода vba
- •Инициализация кода
Лабораторная работа №6
Цель работы: изучение основ языка Visual Basic for Applications
Теоретические вопросы:
Основы языка Visual Basic for Applications Введение
Access позволяет автоматизировать обработку баз данных двумя способами: посредством макросов и путем программирования на языке Visual Basic for Applications (VBA).
Технология визуального программирования, реализованная в языке VBA, позволяет пользователям создавать приложения и самостоятельно решать многие задачи, не обращаясь к услугам профессиональных программистов.
Единая интегрированная среда VBA выглядит одинаково во всех приложениях Microsoft Office то есть в Access, Excel, Word, PowerPoint.
Стандартные модули и модули класса
Для хранения кода VBA применяются модули – самостоятельные объекты базы данных, каждый из которых содержит одну или несколько процедур. В Access используются модули двух основных типов: стандартные модули и модули класса (модули формы и отчета). Каждая процедура в модуле может быть процедурой-функцией (Function), либо поцедурой-подпрограммой (Sub).
Окно редактора кода vbe
В окне базы данных модулям посвящена отдельная вкладка — Модули. Окно модуля появляется при открытии существующего модуля (с помощью кнопки Конструктор) или при создании нового (после нажатия кнопки Создать).
Модули формы и отчета создаются с помощью кнопки Программа, которая появляется на панели инструментов при переходе в режим конструктора формы или отчета, а также с помощью команды Программа из меню Вид.
Модули создаются в редакторе Visual Basic Editor (VBE). Редактор VBE содержит окно просмотра объектов, окно просмотра свойств объектов и окно редактирования кода, а также имеет средства компиляции и отладки написанных программ.
Чтобы открыть окно редактора, достаточно открыть любой модуль Access.
Окно редактора имеет три панели:
Панель проекта (Project). На ней представлено иерархическое дерево модулей приложения.
Панель свойств (Properties). Дает возможность просматривать и корректировать свойства входящих в проект объектов, представленных на панели проекта.
Панель редактора кода (Code). Позволяет одновременно открывать несколько окон данного типа для различных модулей.
Для настройки параметров редактора используется диалоговое окно Options, которое открывается при вызове команды Options из меню Tools окнаVBA. Это окно имеет четыре вкладки: Editor, Editor Format, General и Docking
Раздел описания
Новому модулю по умолчанию присваивается стандартное имя Module1.
При создании нового модуля Access добавляет в раздел описания оператор Option Compare Database, с помощью которого устанавливается режим сравнения текстовых данных в модуле.
Отображение модулей
Помимо области описания, модуль может включать одну или несколько процедур, которые отсутствуют в новых модулях. Если в левом нижнем углу окна модуля нажата кнопка Procedure View, то отображается только одна, выбранная пользователем, процедура, а если кнопка Full Module View — все содержимое модуля.
Создание процедуры
Для создания процедуры (подпрограммы или функции) нажмите кнопку Программа на панели инструментов База данных в окне Access. В результате ее активизации открывается редактор кода VBA.
Область действия процедур:
- общая (Public) — процедура доступна для всех процедур во всех модулях
- личная (Private) — процедура доступна для других процедур только в том модуле, в котором она объявлена.
Если процедуры не используются вне данного модуля, их следует декларировать как личные процедуры. При объявлении личной процедуры в первой строке перед ключевым словом Function или Sub вставляется префикс Private:
Private Function Имя ()
или
Private Sub Имя ().
Создадим простую процедуру-функцию. Предположим, что на основе цен, выраженных в рублях, должны быть автоматически определены и указаны в отдельном поле цены в американских долларах. Мы будем использовать форму GoodsPrice, содержащую поля Goods, Price и PriceD.
Тело созданной процедуры состоит из одного оператора присваивания (=).
Для решения данной задачи необходимо создать процедуру, определяющую значение поля PriceD на основе содержимого поля Price.
• Чтобы открыть новый стандартный модуль, щелкните в окне базы данных на ярлыке Модули в списке Объекты, а затем нажмите кнопку Создать на панели инструментов окна базы данных.
• В открывшемся окне Microsoft Visual Basic выберите команду Procedure в меню Insert.
• В диалоговом окне Add Procedure выберите тип Function и введите имя RubleDollar. В области Scope (Область определения) установите переключатель Public.
• Далее введите в окно модуля следующий код:
Public Function RubleDollar()
‘Пересчет цены в рублях в цену в долларах’
Forms ! GoodsPrice ! PriceD = Forms ! GoodsPrice ! Price / 31
End Function
• Выберите в меню File редактора команду Save, чтобы сохранить модуль с созданной функцией. Присвойте модулю имя RubleDollar.
В результате его выполнения вычисляется значение цены в долларах, которое заносится в соответствующее поле формы. После ввода каждой строки процедуры программа проверяет синтаксис введенного оператора. При обнаружении синтаксической ошибки на экране появляется соответствующее сообщение.