Отправляет email-рассылки с помощью сервиса Sendsay

СУБД MS Access 2003 -это просто

  Все выпуски  

СУБД MS Access 2003 -это просто.Урок 46. Встроенные функции VBA.


Урок №46

Встроенные функции VBA Access 2003

Здравствуйте, уважаемые подписчики!

Практически весь программный код модулей VBA содержится в процедурах двух типов Sub (подпрограммы) и Function (функции). Основная задача процедуры-функции Function - это вычисление некоторого значения и возвращение его в точку вызова процедуры-функции.

Синтаксис процедуры-функции Function:

Function Имя_Функции(аргументы As <тип>) As <тип>
<блок операторов>
Имя_Функции = Возвращаемое_Значение
End Function

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

Например, самая простая процедура-функция Function:

Function F1(x As Currency) As Currency
F1=x ^ 10
End Function

Function F1(x) можно использовать в дальнейших вычислениях (программном коде модуля). Процедуру типа Function можно выполнить, только вызвав ее из другой процедуры. Для этого в вызывающей процедуре необходимо присвоить имя данной F1(x) некоторой переменной. Например, Function F1(x) можно использовать в процедуре MySub (), присвоив переменной "у" имя F1(x) . Скриншот программного кода модуля представлен на рис.1.

Рис. 1.
Здесь Function F1(x)=x10 для значения x=9 возвращает в вызывающую процедуру MySub () значение 3,486785E+09. Если для возвращаемого функцией значения или переменной, которая используется в процедуре VBA, не объявлен тип данных, то, по умолчанию, будет задан тип данных Variant.

В VBA используются как процедуры-функции Function, так и встроенные функции. Встроенные функции состоят из двух частей: имени (идентификатора) и аргументов. В VBA имеется большой набор встроенных Function. Встроенные Functions - это готовые формулы VBA, которые выполняют определенные действия над выражениями и возвращают некоторое значение в точку их вызова.

Функции возвращают результирующее значение вместо их имени, Результирующее значение используется в дальнейших вычислениях. Как правило, функции требуют наличия аргументов, которые записываются в скобках через запятую. Но некоторые функции не требует аргументов. Например, функция Now(), которая не требует аргументов, возвращает текущую системную дату и время. Функции можно использовать для создания новых выражений или функций.

Встроенные функции и процедуры-функции Function вызываются одинаково. Как вставить функцию в текст программы? Чтобы использовать функцию в выражениях, необходимо ввести ее имя в оператор VBA. Для вызова встроенной функции, не требующей аргументов, достаточно ввести ее имя (например, Now) в код программы модуля (рис.2).

Рис. 2.
Для вызова функции, требующей ввода одного или нескольких аргументов, необходимо ввести в правой части оператора присваивания ее имя с заключенными в скобках параметрами (значениями аргументов). Например, для вызова встроенной Function Log (N) с одной переменной N в процедуре типа Sub переменной Log_N присвоено имя функции Log (50) со значением аргумента равного 50. Скриншот  кода модуля представлен на рис. 3.

Рис. 3.
Здесь встроенная Function Log (N) для значения аргумента равного 50 возвращает значение 3,91202300542815 в точку вызова Log (50) вызывающей процедуры "Sub Натуральный_логарифм ()". Функцию можно вызвать как с помощью отдельного оператора VBA, так и поместив ее имя со списком значений аргументов (параметров) в формулу или выражение в программе на VBA. В VBA для сокращения записи используется механизм вложения функций, который позволяет указывать вызов одной функции в качестве аргумента для другой функции. В этом случае возвращаемое первой функцией значение используется в качестве аргумента для следующей функции. Functions VBA можно условно разделить на несколько основных категорий:
  • Обработки строк (InStr, Lcase, Left, Len, Mid, Right и т.д.);
  • Преобразования одного типа данных в другой (CBool, Ccur, Cdate, Cint, CLng и т.д.);
  • Дат и времени (Date, Time, Now, Month, Hour, Minute, Second и т.д.);
  • Математические Functions (Abs(N), Atn(N), Cos(N), Exp(N), Fix(N), Int(N), Log(N) и т.д.);
  • Прочие Functions.

В справке: "Microsoft Office Access 2003" встроенные Functions представлены в алфавитном порядке и на английском языке. В справке: "Microsoft Office Access 2007" встроенные функции сгруппированы по категориям и представлены в алфавитном порядке. Справка и инструкции по функциям в Access 2007 изложены на русском языке.

 С уважением, Владимир Ткаченко

Обучение в интернет информатике, основам компьютерных сетей и телекоммуникаций 

________________________________________________________________________________

При перепечатке материалов прямая активная ссылка на http://www.lessons-tva.info/ обязательна

Copyright Обучение в Интернет, 2013. All Rights Reserved.

Vladimir Tkachenko

 


В избранное