Проще всего работать с синтаксическими ошибками. Синтаксические ошибки возникают в случае неверного написания кода. Примером может служить неправильно используемая переменная, зарезервированное слово или отсутствующий код:
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.
Кроме того, могут возникать другие виды синтаксических ошибок, например: