Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_№13_VBA.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
918.58 Кб
Скачать
    1. Создание модуля vba

Для модуля загружаем приложение Microsoft Access. Вызываем окно редактора кода VBA, для этого на ленте вкладок выбираем «Работа с базами данных», в открывшейся ленте инструкций выбираем команду запуска «Visual Basic» (рисунок 8). Выполняем пункт меню редактора Insert / Module (Вставка / Модуля). В результате появляется окно нового модуля.

Рисунок 8 – Создание модуля в VBA – пункт меню редактора Insert

Или в строке команд быстрого запуска (рисунок 9) выбираем команду создания модуля Module. В результате появляется окно нового модуля.

Рисунок 9 – Создание модуля в VBA

Во вновь созданном модуле создаем процедуру. Для этого выполняем пункт меню Insert → Procedure (Вставка /Процедура). Или опять в строке команд быстрого запуска выбираем команду создания процедуры Procedure (рисунок 10). В открывшемся диалогом окне Add Procedure вводим имя процедуры (например, ShowUsers) и устанавливаем переключатели: Type (тип) – в положение Sub (процедура); Scope (Область определения) – в положение Public (Общая) и щелкаем ОК.

Рисунок 10 – Создание процедуры в модуле

В окне редактора для программирования VBA появится заготовка процедуры: заголовок – Public ShowUsers () и окончание – End Sub, между которыми будем помещаться код тела процедуры. Запишем код процедуры.

Sub ShowUsers()

Dim Users(2) As String

Users(0) = "Иван"

Users(1) = "Петя"

Users(2) = "Вася"

Dim User As Variant

For Each User In Users

MsgBox User

Next User

End Sub

Выполним созданную процедуру в режиме отладки. Для этого выбираем пункт меню Debug и в раскрывшемся списке команд выбираем Step Into (F8). Пошагово проходим по всем командам (рисунок 11). Обращаем внимание на информацию в окне Local Window, в котором отражаются значения ВСЕХ локальных переменных. Напоминаем, что в окне Immedate Window отражает результат выполнения оператора Debug. Результат работы процедуры представлен на рисунке 11.

Рисунок 11 – Пошаговое выполнение процедуры

Рисунок 12 – Результат работы модуля

  1. Язык Visual Basic for Applications (vba).

    1. Переменные и оператор присваивания

VBA позволяет работать с элементами управления любой открытой формы или отчета. Также можно объявлять и использовать в программе VBA именованные переменные для временного запоминания информации, вычисления результатов или для выполнения операций с любыми объектами базы данных. Каждая переменная имеет имя, по которому к ней обращаются. Перед тем как использовать переменную, производится ее объявление, т.е. заранее сообщается, какие именно имена переменных будут использоваться в программе, при этом объявляется также тип данных, для хранения которых предназначена эта переменная. Для этого используется оператор Dim.

Dim <имяПеременной> [Аs<типДанных>]

Пример:

Dim i As Integer, j As Integer

Dim x As Double

    1. Правила присвоения имен в языке Visual Basic

При присвоении имен процедурам, константам, переменным, и аргументам в модулеVisual Basic используются следующие правила:

  • Имена должны начинаться с буквы.

  • Имя не может содержать пробел, точку (.), восклицательный знак (!) или символы @, &, $, #.

  • Имена не должны содержать более 255 символов.

  • Как правило, не следует использовать имена, совпадающие с названиями функций, инструкций, и методов языка Visual Basic, так как при этом прекращается выделение в тексте одноименных ключевых слов языка.

  • Не допускается использование повторяющихся имен на одном уровне области определения.

Переменные могут создаваться автоматически, по мере появления в процедуре (неявное объявление). По умолчанию неявно объявленные переменные имеют тип Variant. Внутри такой переменной кроме значения хранится индикатор типа значения. Рекомендуется описывать все переменные явно, это позволит избежать ошибок, связанных с преобразованием типов данных. Если при явном объявлении переменной не указан тип данных, а задано только имя переменной, то будет создана переменная типа Variant, которой можно присваивать цепочки символов, числа с плавающей точкой, значения даты и времени.

Можно создавать переменные и константы, доступные для любых процедур в базе данных (public scope) и применимые только в процедурах конкретного модуля или только в единственной процедуре (private scope).

В Access используются типы данных, перечисленные в таблице 2.

Таблица 2 – Типы данных

Название типа

Размер в байтах

Описание и диапазон значения

Byte

1

Для хранения положительного числа от 0 до 255

Boolean

2

Для хранения логических значений; может содержать только значения True и False

Date

8

Для хранения комбинации информации о дате и времени. Диапазон может быть от 1 января 100 года до 31 декабря 9999 года. Диапазон времени 00:00:00 до 23:59:59.

Integer

2

Все целые числа от -32 768 до 32 767

Long

4

Все целые числа от - 2 147 483 648 до 2 147 483 647

Single

4

Отрицательные числа от -3.4х1038 до -1.4х10-45; Положительные числа от 1.4х10-45 до 3.4х1038

String

1

Используется для хранения текста. Может содержать от 0 символов до приблизительно 2 миллиардов символов

Variant

16 байт + 1 байт/символ

Тип Variant может хранить любой другой тип данных. Диапазон для данных типа Variant зависит от фактически сохраняемых данных. В случае текста диапазон соответствует строковому типу; в случае чисел диапазон такой, как у типа Double

Double

8

Отрицательные числа от -1.8х10308 до -4.9х10-324; Положительные числа от 4.9х10-324 до 1.8х10308

Currency

4

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

При объявлении переменной следует помнить об области действия. Переменные, объявленные в процедуре, можно использовать только внутри этой процедуры. Если переменная должна быть доступна во всех процедурах одного модуля, ее необходимо объявить в области описания модуля. Наибольшую область действия имеет переменная, объявленная глобальной (с префиксом Global) в области описания модуля. Синтаксис оператора Global не отличается от синтаксиса оператора Dim.

В отличие от переменной, константа содержит фиксированное значение, которое не может быть изменено в процессе выполнения программы. Согласно правилам хорошего тона, константы, как и переменные, следует объявлять явно, указывая их имена и значения. Для объявления константы используется оператор Const. Объявленную константу можно использовать в программе, обращаясь к ней по имени.

Const <имяКонстанты> [As <типДанных>] = <выражение>

Пример:

Const Число_Пи = 3.1415926

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]