Access. Программирование на VBA

Исключение синтаксических ошибок


Проще всего работать с синтаксическими ошибками. Синтаксические ошибки возникают в случае неверного написания кода. Примером может служить неправильно используемая переменная, зарезерви­рованное слово или отсутствующий код:

Dim strName as

Очевидно, важный фрагмент кода отсутствует в данном операторе. Тип данных не указан. Правильный оператор должен выглядеть так:

Dim strName as String

Одним из способов устранения синтаксических ошибок является использование Option Explicit

в первой строке каждого модуля. Это потребует явного объявления всех переменных, использующихся в приложении.

Объявление всех переменных важно по нескольким причинам. Неправильно использованное имя пере­менной может привести к тяжелым последствиям. Если переменная предназначена для вставки значения в базу данных, могут быть вставлены неправильные данные без какого-либо сообщения об ошибке. В конце концов, VBA обращается с неправильно записанной переменной просто как с другой переменной. В следующем примере переменная BankBalance

во второй строке используется некорректно:

BankBalance = 4,576.98 RS!BankBalance = BankBalence

VBA не признает BankBalence как зарезервированное слово, поэтому полагает, что разработчик хочет создать новую переменную типа Variant со значением, принятым по умолчанию. Empty. В результате база данных обновляется значением Empty вместо необходимого значения $4,576.98.

Кроме того, объявление переменных имеет большое значение для оптимизации приложения. Поскольку необъявленные переменные используют тип данных Variant,

теряется значительный объем дисковой па­мяти. Например, размер переменной, в которой хранится число 5, составляет:

Dim bytNumber as Byte (1 байт)

Необъявленная переменная (для числовых данных)

(16 байтов)

Необъявленная переменная (символьные или строковые данные)

(22 байта)

В данном примере необъявленная переменная получает тип Variant. Чтобы сделать объявление переменных обязательным, необходимо в редакторе Visual Basic открыть модуль кода. Затем в меню следует выбрать команду Tools | Options (Сервис | Пара­метры). В диалоговом окне Options (Параметры) во вкладке Editor (Редактор) необходимо включить опцию Require Variable Declaration (Требовать объявления переменных) (рис. 2). Дан­ная опция вставляет Option Explicit

в начале каждого нового модуля; однако она не обновляет старые модули. Необходимо проверить уже созданные модули и вставить в них Option Explicit.

Кроме того, могут возникать другие виды синтаксических ошибок, например:



Содержание раздела