Функція так само, як й ідентифікатор, використовується для повернення значення в точку виклику. Значення, що повертає функцією, визначається її типом, наприклад функція NOW () повертає дату та час годин комп'ютера. Синтаксично функція виділяється круглими дужками, що випливають відразу ж за її ідентифікатором. Багато функцій потребують наявності аргументів, які записуються в цих дужках через кому при звертанні до функції. Функції можна використовувати для створення нового виразу або функції. Вбудовані в Access функції можна згрупувати по наступних категоріях.
Функції роботи з масивами — використовуються для визначення меж розмірностей масивів при програмуванні на VBA.
Функції перетворення типів даних — застосовуються для перетворення одного типу даних в іншій. Наприклад, для перетворення числа в рядок служить функція str (), а назад - функція val ().
За допомогою функцій роботи з об'єктами баз даних здійснюється звертання до об'єктів баз даних: таблицям, запитам, формам, звітам, макросам і модулям. Наприклад, функція CurrentDB () повертає посилання на об'єкт Database, з яким працює Access у цей момент. (Для більш доскональної інформації про роботу із цими функціями зверніться до довідкової системи Access або до гл. 13.)
Функції дати і часу — служать для проведення операцій із значеннями дати й часу. Наприклад, функція DateDiff Про обчислює проміжок між двома датами, а функція Date () повертає значення поточної дати.
Функції динамічного обміну даними (DDE) між додатками Windows і функції роботи з використанням технології зв'язування й впровадження (OLE) (наприклад, DDE() і DDESend) — використовуються для переміщення даних з одного додатка в інше й назад. Для додатків, що підтримують технологію OLE, зокрема Microsoft Office, особливо важливими є функції GetObject () і CreateObject (), за допомогою яких починається основна робота з будь-якими об'єктами (див. розд. "Інтеграція Access 2000 з іншими компонентами Office 2002" гл. 15).
Статистичні функції SQL — використовуються найчастіше для багатотабличних запитів як джерела даних для форм. Статистичні функції SQL повертають статистичні дані із записів, обраних по запиті. Ці функції не можна використовувати в макросах або викликати їх із програм VBA інакше, як усередині виразів у лапках, які використовуються в інструкціях SQL для створення об'єктів Recordset.
Статистичні функції по підмножинах записів— це ті ж статистичні функції SQL, але вони працюють в більшій частині з обчислюємими значеннями, а не зі значеннями, що містяться в полях запитів.
Прикладом статистичної функції SQL є stDev(), а відповідної їй статистичною функцією по підмножині записів- DStDevf). Обидві вони обчислюють стандартне відхилення для заданої множини значень.
Функції обробки помилок — використовуються, як виходить з назви, для відстеження помилок. Наприклад, функція Error () виводить повідомлення про помилку по її номеру. Наявність таких функцій у виразі можна вважати ознакою гарного тону, оскільки використовуємий вираз, хоч і приводить до помилкового результату, але продовжує поводитися коректно, не забувши попередити користувача.
Фінансові функції — ідентичні своїм двійникам в Microsoft Excel і використовують ті ж аргументи. Наприклад, функція Rate () повертає процентну ставку, необхідну для одержання шляхом регулярних внесків зазначеної суми на базі наявної за певний строк.
Функції загального призначення — використовуються в основному при програмуванні на VBA для витягу допоміжної інформації й керування ходом виконання програми. Наприклад, функція Commando служить для витягу аргументів командного рядка при виконанні програми, написаної на VBA.
Функції повідомлень та введення/виведення — дозволяють виводити повідомлення або вводити нові дані, а також встановлювати різні параметри введення/виведення. Ілюстрацією можуть служити функція введення даних inputBox () або функція перевірки існування каталогу або файлу Dir ().
Функції перевірки — особлива група функцій, відповідаючих на питання " чи являється аргумент... ?". Наприклад, IsNumericf) - повертає True, якщо аргумент має один із числових типів даних, і False - у противному випадку; IsObject() - повертає True, якщо аргумент- об'єкт OLE Automation, і False - у противному випадку.
Функції розгалуження — використовуються для вибору з декількох альтернатив. На них варто зупинитися докладніше.
IIf (Expr, Truepart, Falsepart) - повертає значення виразу Truepart, якщо значення виразу Ехрг дорівнює True, або значення виразу Falsepart, якщо значення Ехрг є False. Особливо важливо те, що незалежно від значення виразу Ехрг, будуть обчислені як вирази Truepart, так й Falsepart. Варто бути дуже уважним до можливих побічних ефектів, пов'язаних із цією особливістю функції Ilf {). Відзначимо, що тут, як й у більшості функцій, у якості кожного з аргументів стоїть вираз, який, у свою чергу, теж може бути складним виразом.
Функція Choose () повертає значення, що відповідає заданому положенню в списку значень. Switch () повертає значення, пов'язане з першим із послідовності виразом, що має значення True.
Функції Choose () і Switch() схожі на команду Select Case з VBA й інших діалектів Basic, яка не раз зустрінеться вам у гл. 13.
Математичні й тригонометричні функції — використовуються для виконання простих (і незанадто) математичних операцій, наприклад обчислення логарифма Log () або синуса числа Sin ().
Текстові функції — дозволяють проводити різні операції над рядками. Наприклад, функція Trim() повертає рядок, заданий як аргумент, без початкових і заключних пробілів.