Переменные используются для сохранения значений величин, изменяющихся в процессе выполнения программы. Каждая переменная имеет имя, по которому происходит обращение к ней. Правила присвоения имен переменным не отличаются от описанных выше правил для имен полей. Присвоение значения переменной осуществляется посредством оператора присваивания, в котором слева указывается имя переменной, а справа — присваиваемое значение или выражение:
Номер =1
Город = "Новые Васюки"
Температура = 5.9
Синус = Sin (1.3)
Коэффициент = 234 /4*0.5
Переменные могут создаваться VBA автоматически, по мере появления в процедуре (неявное объявление). Переменные, которые не объявляются явно, по умолчанию имеют тип Variant. Внутри такой переменной кроме значения хранится индикатор типа значения.
Неявное объявление переменных допустимо только в случае отсутствия оператора Option Explicit в области описания модуля. Чтобы при создании нового модуля предотвратить появление этого оператора в области описания, следует отключить опцию явное описание переменных на вкладке Модуль диалогового окна Параметры.
Рекомендуется описывать все переменные явно, что позволит избежать появления ошибок, связанных с преобразованием типов данных и с опечатками в именах переменных. Явное описание переменных выполняется с помощью оператора Dim, после которого указываются имя переменной и ее тип:
Function Расчет()
Dim A As Integer
Dim Коэффициент As Single
Dim Результат As Single
A = 1
Коэффициент = 234 / 4 * 0.5
Результат = А / Коэффициент
End Function
В этом примере переменная А объявлена целой (As Integer), а переменные Результат и Коэффициент — действительными переменными единичной длины (As Single). Объявив явно тип некоторой переменной, вы берете на себя обязательство заносить в эту переменную данные только определенного типа (целые числа, текстовые строки, денежные величины), который указан для нее при объявлении. Попытку занести в целую переменную текстовую строку компилятор VBA расценит как ошибку и выдаст соответствующее сообщение.
Если при явном объявлении переменной не указан тип данных, а заданы оператор Dim и ее имя, будет создана переменная типа Variant, которой можно присваивать цепочки символов, числа с плавающей точкой, а также значения даты и времени (совершенно разные типы данных) Access 97 однозначно идентифицирует присваиваемые значения, поскольку наряду с ними он хранит в переменной и признак типа.
Работа с данными типа Variant имеет существенный недостаток: постоянное отслеживание типа хранимого значения занимает много машинного времени. Для сокращения времени, необходимого для выполнения программы, все используемые переменные надлежит декларировать явно, задавая один из стандартных типов данных.