Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных (лекции).doc
Скачиваний:
7
Добавлен:
13.08.2019
Размер:
6.89 Mб
Скачать

Процедуры и функции.

Функция может возвращать некоторое значение (в отличие от процедуры), что дает возможность вставлять ее в выражение. Процедура- функция содержит для этого оператор, в котором это возвращенное значение формируется (далее увидим).

Процедура, в отличии от функции не возвращает никакого значения, а просто выполняет некоторую последовательность действий. Типичное применение процедур Sub- обработка событий. При этом Sub относится (присоединяется) к элементу управления.

Инструкция Sub в коде определяет имя процедуры, аргументы и конструкции программы. Синтаксис следующий:

[Private / Public] [Static] Sub name [(arglist)]

[инструкции]

[Exit Sub]

[инструкции]

End Sub

Синтаксис для функции:

[Private / Public] [Static] Function name [(arglist)] [As тип]

[инструкции]

[имя выражение]

[Exit Function]

[инструкции]

[имя выражение]

End Function.

Если функция не присваивает значение по умолчанию: 0- в случае числовой функции; “”- в случае строковой функции; NULL- в случае variant.

Элементы процедур:

Public- обеспечивает доступ к процедуре из других процедур во всех остальных модулях приложения.

Private- ограничивает использование процедуры рамками данного модуля.

Static- сохраняет значение локальных переменных между вызовами процедур.

arglist- список переменных, передаваемых при вызове. Имена в списке разделены запятыми.

As тип- для явного указания возвращаемого типа (по умолчанию в VBA- variant).

Список аргументов.

Структура и синтаксис применима к обоим типам процедур:

[Optinal] [ByVal] [ByRef] [ParamArray] varname [()] [As type] [= default value]

это структура одного элемента arglist.

Элементы аргумента:

Optinal- означает, что этот аргумент может быть опущен.

ByVal- передается значение аргумента (значение переменной копируется для обработки в Sub)

ByRef- передается по ссылке (если не указано иное, то аргумент передается по ссылке), т.е. есть доступ к изменению значения этой переменной

ParamArray- указывает, что аргумент в списке является массивом элементов variant. Должен быть последним аргументом в списке и список как Optional

Varname [()]- имя, представляющее используемый в процедуре аргумент (обязателен)

= default value- константа или выражение по умолчанию для необязательного аргумента.

Описание переменных и констант.

Определение переменных ля процедур или модуля обычно выполняется с помощью инструкции Dim. Для констант Const.

Место и метод описания определяют их область действия и время жизни.

Для определения на уровне процедуры- описания помещаются в верхнюю часть процедуры. Если нужен доступ на уровне модуля (из всех его процедур), то описание помещается в верхней части модуля после строк:

Option Compare Database

Option Explicit

Можно использовать вместо Dim слова Public и Static.

Если описание Public сделано в стандартном модуле, или модуле класса, то «видимость» распространяется на весь проект (и даже на все связанные проекты).