Оператор описания переменных имеет следующий общий вид:
Dim <имя переменной> As <тип данных>
Имя переменной начинается с буквы, далее могут следовать буквы, цифры и знак подчеркивания. Имя не может включать знаки препинания и пробелы. Имя не может превышать 200 символов и совпадать с ключевыми словами VBA.
Тип данных могут быть следующими:
Integer – целый тип, 2 байта;
Byte – байт, 1 байт;
Long – длинный целый, 4 байт;
Single – вещественный с одинарной точностью, 4 байта;
Double – вещественный с двойной точностью, 8 байт;
String – строковый, до 255 символов;
Currency – денежный, 8 байт;
Boolean – логический, 1 байт;
Date – дата, 8 байт;
Variant – данные этого типа интерпретируются в зависимости от операции, в которой они используются, т.е. тип может меняться. При этом производится преобразование одного типа в другой;
Object – в процедурах, наряду с прямыми ссылками на объекты базы данных и их элементы, допускается использование объектных переменных, представляющих объекты.
Тип данных Object (объектный) является условным обозначением нескольких типов данных, представляющих объекты, с которыми работает VBA.
Объектные типы данных в соответствии с двумя моделями объектов, используемыми в Access, подразделяются на:
объектные типы данных Access: Application, Form, Report, Screen, Control;
объектные типы данных DAO (Data Access Object – объекты доступа к данным): Database, TableDef, Index, Field, Recordset, QueryDef, Relation и другие.
Объектные переменные предназначены для хранения ссылок на соответствующие конкретные объекты.
Например, в описании
Dim bd As Database, tab1 As TableDef, pol1 As Field
тип данных Object принимает для переменной bd значение Database, для переменной tab1 – TableDef, для переменной pol1 – Field. Инструкция Dim описывает переменную, сообщая, что она может содержать ссылку на объект указанного типа.
Особенности использования оператора описания переменных.
Инструкция Dim, используемая внутри процедуры, описывает локальную переменную, используемую только внутри процедуры.
Инструкция Dim, используемая в разделе описания модуля формы или отчета, описывает переменные, которые доступны в любых процедурах данного модуля, но недоступны для процедур в других модулях базы данных.
Переменная будет доступна для всех процедур в базе данных, если вместо Dim использовать Public, например:
Public Y As String
Для обращения к общей переменной, размещенной в модуле формы или отчета, используются ссылки, включающие перед именем переменной имя формы или отчета: