Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
119
Добавлен:
16.04.2015
Размер:
2.54 Mб
Скачать

Применение vba в Access

VBA может быть использован для создания:

  • стандартных модулей (которые не связаны с конкретным приложением, а могут быть использованы в любом приложении);

  • модулей класса двух типов:

  • базовых модулей класса;

  • модулей форм и отчетов.

Открытие окна для разработки программ на vba

Для создания программ на языке Visual Basic for Application или пользовательских форм нужно:

  1. Открыть окно разработки программ: #Главная# - !Макрос! – [Visual Basic]; В результате откроется окно для создания программного кода. В открывшемся окне будет содержаться раздел “Declaration” , в котором по умолчанию выводятся инструкции “Option Compare Database” и “Option Explicit”. Первая определяет способ сравнения строк, а вторая указывает на необходимость явного объявления переменных в модуле.

  2. [Insert] – [Procedure…].

  3. ввести в поле “Name:” всплывающей панели “Add Procedure” имя процедуры.

  4. задать тип процедуры: “Private” или “Public”. Тип процедуры определяет уровень видимости: уровень модуля и уровень проекта соответственно. Процедура, объявленная “Private”, может быть вызвана только из того модуля, в котором она написана. Более того, это объявление запрещает ее использование как самостоятельной процедуры; она может быть вызвана только из другой процедуры. Процедура, объявленная “Public”, может быть вызвана из любого модуля проекта.

При описании процедур и функций может быть использовано ключевое слово “Static”. Оно не влияет на область действия процедуры, но воздействует на все переменные, описанные внутри этой процедуры или функции. В этом случае все локальные переменные получают статус Static и, тем самым, сохраняются в памяти после завершения процедуры и при повторном ее вызове сохраняют свои прежние значения.

Создание модуля

В окне редактора кода VBA создать текст модуля, затем:

[File] – [Save] – {имя модуля}.

Пример модуля.

Этот модуль выполняет перерасчет остатка и стоимости товаров на складе после продажи.

Программирование форм и отчетов

Все формы и отчеты, хранящиеся в базе данных Access образуют два семейства – AllForms и AllReports, которые подчиняются объекту CurrentProject. Каждый элемент семейства AccessObject – представляет собой форму или отчет, включая и подчиненные формы и отчеты. Обращаться к конкретной форме или отчету можно или по имени или по индексу, например

CurrentProject.AllForms(“Работники”)

CurrentProject.AllForms(5)

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

Dim frm As AccessObject

Кроме семейств AllForms и AllReports имеются семейства Forms и Reports. Они включают только открытые в данный момент формы или отчеты. Для открытия формы или отчета из программы на VBA используется метод OpenForm специального объекта DoCmd:

DoCmd.OpenForm <имя формы>[<параметры>]

Чтобы закрыть форму или отчет используется метод Close объекта DoCmd.

Каждый объект Form содержит семейство Controls (элементов управления: командных кнопок, текстовых окон, окон со списком и т. д.). Обращение к объекту семейства Controls в форме производится по схеме:

Forms!<имя формы>!<имя элемента Cotrols>

Пример:

Forms!Продажи!Стоимость

Каждый элемент семейства Controls имеет закрепленную за ним константу:

Табл. 28

Выключатель

acToggleButton

Группа переключателей

acOptionGoup

Кнопка

acCommandButton

Линия

acLine

Набор вкладок

acTabCtl

Надпись

acLabel

Переключатель

acOptionButton

Подчиненная форма

acSubForm

Поле

acTextBox

Поле со списком

acComboBox

Пользовательский элемент управления

acCustomControl

Присоединенная рамка объекта

acBoundObjectFrame

Прямоугольник

acRectangle

Рисунок

acImage

Свободная рамка объекта

acObjectFrame

Список

acListBox

Страница

acPage

Флажок

acCheckBox

Соседние файлы в папке Word