Пользовательские типы данных VBAПрограммирование VBA в СУБД Access 2003

RSS, Twitter, Vkontakte, Facebook

Основы программирования VBA

Собственные типы данных в VBA

Автор: Владимир Ткаченко

Источник: Обучение в интернет

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

Для объявления собственного типа данных используется следующая конструкция:
Туре ИмяПользовательскогоТипа
ИмяЭлемента1 As Type1 ' первый элемент встроенного типа 1
ИмяЭлемента1 As Type2 ' второй элемент встроенного типа 2
.....................
ИмяЭлемента1 As TypeN ' N-ый элемент встроенного типа N
End Туре

В качестве примера рассмотрим пользовательский тип данных Student. Атрибуты сущности Student - это группа связанных элементов: фамилия, имя, отчество, пол, дата рождения, название группы.

Туре Student
ФамилияSt As String
ИмяSt As String
ОтчествоSt As String
ПолSt As String
ДатаРождSt As Data
НазвГруппыSt As String
End Туре

Обычно инструкция Туре предназначена для использования в области видимости всего проекта, поэтому целесообразно ее разместить в коде отдельного стандартного модуля. Кроме того, там же можно объявить глобальную переменную пользовательского типа, например strСтудент. Скриншот образца стандартного модуля, представлен на рис. 1.

Объявление собственного типа данных инструкцией Type в VBA Access 2003
Рис. 1.

Далее созданный пользовательский тип данных Student и глобальная переменная strСтудент могут быть применены в других модулях. Например, в модулях форм или стандартных модулях можно объявлять переменную Студент1 типа Student: Dim Студент1 As Student, где Student - это пользовательский тип данных. Таким образом, имя пользовательского типа данных используется при объявлении переменной так же, как и имена встроенных типов данных. Кроме того, в модулях можно применять непосредственно глобальную переменную для обращения к элементам, входящим в состав пользовательского типа данных, например strСтудент.ИмяST = "Петр".

Пользовательский тип данных и глобальную переменную можно объявить и непосредственно в исполняемых модулях. На скриншоте рис.2 представлен модуль, в котором объявлены пользовательский тип данных и глобальная переменная. В процедуре Sub Progress() применена переменная strСтудент.

Пользовательский тип данных и глобальная переменная пользовательского типа в модуле VBA Access 2003
Рис. 2.

Вводим переменную пользовательского типа strСтудент и ставим точку, открывается всплывающее меню со списком имен структурных элементов. Выбираем требуемый элемент и дважды на нем щелкаем. Таким образом, осуществляется обращение к элементам, входящим в состав пользовательского типа данных.

Подпишитесь на мою рассылку СУБД MS Access 2003 -это просто!