Общие сведения о выражениях




Функция LBound

Возвращает значение типа Long, содержащее нижнюю границу размерности для указанного массива.

Синтаксис LBound(имя_массива [, размерность ])

В функцию LBound входят следующие компоненты.

Аргумент Описание
имя_массива Обязательный аргумент. Переменная имени массива; должна удовлетворять стандартным соглашениям об именах.
размерность Необязательный аргумент. Variant (Long). Целое число, показывающее, верхнюю границу какого массива нужно получить. Используйте 1 для первого массива, 2 — для второго, и так далее. По умолчанию аргументу размерность присваивается значение 1.

Функция LBound используется с функцией UBound, чтобы определить размер массива. Используйте функцию UBound чтобы найти верхнюю границу размерности массива.

Функция LBound возвращает значения следующей таблицы для массива с указанной размерностью.

Dim A(1 To 100, 0 To 3, -3 To 4)
Инструкция Возвращаемое значение
LBound(A, 1)  
LBound(A, 2)  
LBound(A, 3) -3

Верхняя граница для любого массива по умолчанию равна 0 или 1, в зависимости от значения инструкции Option Base. Основа созданного с помощью функции Array массива равна нулю; инструкция Option Base не влияет на этот параметр.

Верхняя граница массивов, размерность которых задана с использованием предложения To в инструкциях Dim, Private, Public, ReDim или Static, может иметь любое целое значение.

Функция UBound

Возвращает значение типа Long, представляющее верхнюю границу размерности для указанного подмассива.

Синтаксис UBound(имя_массива [, размерность ])

Функция UBound имеет следующие аргументы.

Аргумент Описание
имя_массива Обязательный аргумент. Переменная имени массива; должна удовлетворять стандартным соглашениям об именах.
размерность Необязательный аргумент типа Variant (Long). Целое число, показывающее, верхнюю границу какого подмассива нужно получить. Используйте 1 для первого подмассива, 2 — для второго и так далее. Если аргумент размерность опущен, присваивается значение 1.

Функция UBound используется с функцией LBound, чтобы определить размер массива. Используйте функцию LBound чтобы найти нижнюю границу размерности подмассива.

Функция UBound возвращает следующие значения для массива размерности:

Dim A(1 To 100, 0 To 3, -3 To 4)
Инструкция Возвращаемое значение
UBound(A, 1)  
UBound(A, 2)  
UBound(A, 3)  

Функция Asc

Возвращает значение типа Integer, обозначающее код знака, соответствующего первой букве строки.

Синтаксис Asc(строка)

Обязательный аргумент строка — это любое допустимое строковое выражение. Если строка не содержит знаков, возникнет ошибка при выполнении.

Диапазон возвращаемых значений: от -32768 до 32767 в системе БДЦС и от 0 до 255 в других системах.

Примечание. Функция AscB используется, когда строка содержит данные в байтах. В этом случае вместо кода первого знака, функция AscB возвращает первый байт. Функция AscW возвращает код знака как значение Юникода, за исключением тех случаев, когда Юникод не поддерживается — поведение функции аналогично функции Asc.

Примечание. Приложение Visual Basic для Macintosh не поддерживает строки со значением Юникода. Следовательно, так же как и в среде Windows, AscW(n) не возвращает все знаки Юникода для n значений в диапазоне от 128 до 65,535. Вместо этого AscW(n) дает приблизительное значение для n, больших 127. Поэтому использование функции AscW в среде Macintosh недопустимо.

Функция Chr

Возвращает значение типа String, содержащее знак, связанный с заданным кодом знака.

Синтаксис Chr(код_знака)

Обязательный аргумент код_знака представляет собой определяющее знак целое число типа Long.

Числа от 0 до 31 соответствуют таким же как коды ASCII непечатным знакам. Например, Chr(10) возвращает знак перевода строки. Нормальный диапазон аргумента код_знака — от 0 до 255. Однако, в системе DBCS фактический диапазон аргумента код_знака — от -32768 до 65535.

Примечание. Функция ChrB используется с данными в байтах содержащимися в значении типа String. Вместо знака, который может состоять из одного или двух байтов функция ChrB всегда возвращает только один байт. Функция ChrW возвращает значение типа String, содержащее знак Unicode, за исключением платформ, не поддерживающих Unicode. Для них эта функция ведет себя аналогично функции Chr.

Примечание. Приложение Visual Basic для Macintosh не поддерживает строки Unicode. Поэтому функция ChrW(n) не может возвращать все знаки Unicode для значений n в диапазоне от 128 до 65,535, как в среде Windows. Вместо этого, функция ChrW(n) дает приблизительное значение для n больших 127. Поэтому использовать функцию ChrW в среде Macintosh не рекомендуется.

Функция DateSerial

Возвращает значение типа Variant (Date) для указанного года, месяца и дня.

Синтаксис DateSerial(год, месяц, день)

В функцию DateSerial входят следующие аргументы.

Аргумент Описание
год Обязательный аргумент типа Integer. Число между 100 и 9999 включительно или числовое выражение.
месяц Обязательный аргумент типа Integer. Любое числовое выражение
день Обязательный аргумент типа Integer. Любое числовое выражение

Чтобы указать дату, такую как «31 декабря 1991 года», значения для каждого аргумента функции DateSerial должны находиться в установленном для элемента диапазоне чисел; диапазон для дней — 1–31, диапазон для месяцев — 1–12. Однако с помощью любого числового выражения, в котором определяется некоторое количество дней, месяцев или лет до или после указанной даты, для каждого аргумента можно указать относительные даты.

В следующем примере вместо абсолютных дат используются числовые выражения. Функция DateSerial возвращает день, предшествующий первому дню месяца (1 - 1); месяц, расположенный в календаре на два месяца раньше августа (8 - 2); год, отстоящий на 10 лет от 1990 года (1990 - 10); другими словами, «31 мая 1980 года».

DateSerial(1990 - 10, 8 - 2, 1 - 1)

На компьютерах под управлением операционной системы Windows 2000 значение аргумента год, состоящее из двух цифр, воспринимается в зависимости от пользовательских настроек. По умолчанию значение, находящееся в диапазоне между цифрами 0 и 29 включительно, воспринимается как год из диапазона 2000–2029. Значение, находящееся в диапазоне между цифрами 30 и 99, воспринимается как год в диапазоне с 1930 по 1999. Во всех остальных случаях для обозначения аргумента год используйте четыре цифры (например, 1800).

Ранние версии Windows воспринимают год, состоящий из двух цифр, согласно значениям по умолчанию, указанным выше. Чтобы функция гарантированно возвращала правильные значения, используйте для обозначения года четыре цифры.

Когда значения любого аргумента превышают допустимый диапазон значений, осуществляется переход на аргумент уровнем выше. Например, если указать число 35 в качестве количества дней, это значение трактуется как один месяц и несколько дней — в зависимости от количества дней в месяце. Если значение какого-либо аргумента выпадает из диапазона чисел от -32768 до 32767, возникает ошибка. Если дата, определенная тремя аргументами, выпадает из допустимого диапазона дат, возникает ошибка.

Примечание. Если в свойстве Календарь указан григорианский календарь, аргументы год, месяц и день должны быть указаны по григорианскому календарю. Если в свойстве Календарь указан календарь хиджра, дата должна быть указана по этому календарю.

Возвращаемая часть даты указывается в единицах времени текущего календаря Visual Basic. Например, если текущий календарь — календарь хиджра, а возвращаемая часть даты — год, то этот год будет указан по календарю хиджра. Для аргумента год значение между 0 и 99 включительно воспринимаются как года с 1400 по 1499. Во всех остальных случаях для обозначения аргумента год используйте полный формат, состоящий из четырех цифр (например, 1520).

Функция DateValue

Возвращает значение типа Variant (Date).

Синтаксис DateValue(дата)

Обязательный аргумент дата обычно является строковым выражением, представляющим собой дату от 1 января 100 года нашей эры до 31 декабря 9999 года. Однако, дата также может быть любым выражением, представляющим дату, время или дату и время в этом диапазоне.

Если дата является строковым выражением и включает только числа, разделенные допустимыми разделителями данных, функция DateValue распознает порядок следования для месяца, дня и года в соответствии с кратким форматом заданным для операционной системы. Функция DateValue также распознает даты в формате, не допускающем неоднозначную интерпретацию, содержащем в длинном или сокращенном варианте. Например, помимо распознания 12/30/1991 и 12/30/91, функция DateValue может распознать декабрь 30, 1991 и дек 30, 1991.

Если относящаяся к году часть даты пропущена, функция DateValue значение текущего года из системной даты на компьютере.

Если аргумент дата включает сведения о времени, функция DateValue не возвращает их. Однако, если дата включает неверные сведения о времени (например «89:98»), возникает сообщение об ошибке.

Примечание. Аргумент дата должен быть указан в формате григорианского календаря, если в свойстве Календарь указан григорианский календарь. Если указан календарь хиджра, даты должны быть указаны по этому календарю. Если даты указаны по календарю хиджра, аргумент дата является значением типа String, представляющим дату от 1 января 100 года нашей эры (по григорианскому календарю 2 августа 718 года) до 31 декабря 9999 года (по григорианскому календарю 31 декабря 9999 года).

Функция FormatPercent

Описание Возвращает выражение в формате процентов (умноженное на 100) со знаком «%» на конце.

Синтаксис FormatPercent(выражение [, знаки_после_разделителя [, отображение_незначащих_нулей [, скобки_отрицательного_числа [, группировка ]]]])

Функция FormatPercent имеет следующие аргументы.

Аргумент Описание
выражение Обязательный аргумент. Выражение, которое требуется преобразовать.
знаки_после_разделителя Необязательный аргумент. Числовое значение, показывающее, сколько первых десятичных знаков будет отображаться. По умолчанию это значение равно -1, это означает, что будут использоваться региональные параметры компьютера.
отображение_незначащих_нулей Необязательный аргумент. Постоянная, принимающая три значения и показывающая, будут ли отображаться незначащие нули для дробных чисел. См. значения этого аргумента в разделе «Параметры»
скобки_отрицательного_числа Необязательный аргумент. Постоянная, принимающая три значения и показывающая, заключать или нет отрицательные числа в скобки. См. значения этого аргумента в разделе «Параметры»
группировка Необязательный аргумент. Постоянная, принимающая три значения и показывающая, сгруппированы ли значения с использованием разделителя, установленного в региональных параметрах компьютера. См. значения этого аргумента в разделе «Параметры»

Значения

Аргументы отображение_незначащих_нулей, скобки_отрицательного_числа и группировка могут принимать следующие значения.

Константа Значение Описание
vbTrue -1 Истина
vbFalse   Ложь
vbUseDefault -2 Использует региональные параметры компьютера

Когда опущены два или более дополнительных аргумента, эти аргументы примут значения региональных параметров компьютера.

Примечание. Все сведения о параметрах настройки имеются на вкладке Номера региональных параметров.

Функция Str

Возвращает значение типа Variant (String), представляющее собой число.

Синтаксис Str(число)

Обязательный аргумент число — это значение типа Long, представляющее собой любое допустимое числовое выражение.

При преобразовании чисел в строку первый пробел всегда резервируется в качестве знака числа. Если число положительное, возвращаемая строка содержит первый пробел и знак плюс.

Функция Format служит для преобразования числового значения в формат даты, времени, денежный или любой другой формат, определяемый пользователем. Однако, в отличии от Str, функция Format не включает первый пробел в качестве знака числа.

Примечание. В качестве допустимого десятичного разделителя для функции Str выступает точка (.). Для преобразования числа в строку при использовании других десятичных разделителей (например, в международных приложениях) пользуйтесь функцией CStr.

Функции преобразования типа

Каждая функция относит выражение к определенному типу данных.

Синтаксис

CBool(выражение)

CByte(выражение)

CCur(выражение)

CDate(выражение)

CDbl(выражение)

CDec(выражение)

CInt(выражение)

CLng(выражение)

CSng(выражение)

CStr(выражение)

CVar(выражение)

Обязательный аргумент выражение является любым строковым или числовым выражением.

Возвращаемые типы

Имя функции определяет возвращаемый тип, как показано в следующей таблице.

Функция Возвращаемый тип Диапазон аргумента выражение
CBool Boolean Любое допустимое строковое или числовое выражение.
CByte Byte От 0 до 255.
CCur Currency От -922337203685477,5808 до 922337203685477,5807.
CDate Date Любое допустимое выражение даты.
CDbl Double От -1,79769313486231E308 до -4,94065645841247E-324 для отрицательных чисел; от 4,94065645841247E-324 до 1,79769313486232E308 для положительных чисел.
CDec Decimal +/-79228162514264337593543950335 для чисел с нулевым масштабным фактором, т. е. без десятичных разрядов. Для чисел с 28 десятичными разрядами значения принадлежат диапазону +/-7,9228162514264337593543950335. Минимальное ненулевое число равно 0,0000000000000000000000000001.
CInt Integer от -32 768 до 32 767; дробные части округляются.
CLng Long от -2147483648 до 2147483647; дробные части округляются.
CSng Single От -3,402823E38 до -1,401298E-45 для отрицательных чисел; от 1,401298E-45 до 3,402823E38 для положительных чисел.
CStr String Returns for CStr depend on the expression argument.
CVar Variant Такой же диапазон, как у функции Double для чисел. Такой же диапазон, как у функции String для других символов.

Если выражение, переданное функции, находится за пределами диапазона типа данных, в который оно преобразуется, возникает ошибка.

В целом код можно задокументировать с помощью функций преобразования типа данных, чтобы показать, что результат некоторой операции должен выражаться в определенном типе данных, а не в типе данных, используемом по умолчанию. Например, функция CCur используется для принудительного использования арифметических действий с денежными единицами в тех случаях, когда обычно используются действия с числами с обычной точностью, двойной точностью или с целыми числами.

Функции преобразования типа данных следует использовать вместо функции Val для создания преобразований одного типа данных в другой, признанных на международном уровне. Например, при использовании функции CCur различные разделители десятичных разрядов, разделители тысячи и разнообразные параметры денежных единиц правильно распознаются в зависимости от параметра языка, заданного на компьютере.

Если дробная часть числа составляет 0,5, функции CInt и CLng всегда округляют ее до ближайшего четного числа. Например, 0,5 округляется до 0, а 1,5 округляется до 2. Функции CInt и CLng отличаются от функций Fix и Int, которые скорее обрезают, чем округляют дробную часть числа. К тому же функции Fix и Int всегда возвращают значение того же типа, который был задан при передаче данных.

Функция IsDate используется для определения возможности преобразования даты в дату или время. Функция CDate распознает литералы даты и времени, а также числа, находящиеся в диапазоне допустимых значений. При преобразовании числа в дату целая часть числа становится датой. Любая дробная часть числа преобразуется во время дня начиная с полуночи.

Функция CDate распознает форматы даты в соответствии с параметром языка, заданным на компьютере. Порядок следования дня, месяца и года может быть определен неправильно, если он представлен в формате, отличном от распознаваемых параметров даты. Кроме того, длинный формат даты не распознается, если в нем содержится строка дня недели.

Функция CVDate также создана для обеспечения совместимости с предыдущими версиями программы Visual Basic. Синтаксис функции CVDate аналогичен функции CDate, однако функция CVDate возвращает тип Variant, подтипом которого является Date, а не сам тип Date. Поскольку теперь в программу включен встроенный тип Date, необходимость в функции CVDate отпадает. Того же результата можно добиться, преобразовав выражение в тип Date, и назначив его типу Variant. Этот способ последовательно применяется для преобразования всех остальных встроенных типов в аналогичные им подтипы типа Variant.

Примечание. Функция CDec не возвращает отдельных типов данных; вместо этого она всегда возвращает тип Variant, значения которого преобразованы в подтип Decimal.

Функция Val

Возвращает числовое значение соответствующего типа в качестве чисел, содержащихся в строке.

Синтаксис Val(строка)

Обязательный аргумент строка — это любое допустимое строковое выражение.

Функция Val обрабатывает строку до первого символа, не являющегося числом. Сюда также входят знаки, употребляемые вместе с численными значениями (знак доллара и запятая). Однако допускается использование базисных префиксов &O (восьмеричный) и &H (шестнадцатеричный). Из аргумента исключаются пробелы, знаки табуляции и перевода строки.

В следующем примере результатом функции будет значение 1615198.

Val(" 1615 198th Street N.E.")

Для шестнадцатеричного значения функция Val вернет действительное число -1.

Val("&HFFFF")

Примечание. В качестве допустимого десятичного разделителя для функции Val выступает точка (.). Для преобразования строки в число при использовании других десятичных разделителей (например, в международных приложениях) пользуйтесь функцией CDbl.

Функция Date

Возвращает значение типа Variant (Date), содержащее текущую системную дату.

Синтаксис Дата

Чтобы установить системную дату, используйте инструкцию Дата.

Результат функций Date и, если календарь григорианский, Date$ не изменится при настройке установок Календаря. Если установлен календарь хиджра, Date$ возвращает 10-знаковую строку мм-дд-гггг, где мм (01–12), дд (01–30), а гггг (1400–1523) месяц, день и год по календарю хиджра. Эквивалентный интервал григорианского календаря — с 1 января 1980 года по 31 декабря 2099 года.

Функция DAvg

Функция DAvg используется, чтобы вычислить среднее значение набора значений из указанного набора записей (подмножества). Функция DAvg используется в коде Visual Basic, в макросе, модуле, выражении запроса или в вычисляемом элементе управления.

Функцию DAvg можно использовать в строке условий запроса выборки по цене доставки, чтобы результат выборки содержал только те записи, для которых цена доставки превышает среднюю цену. Можно также использовать выражение, содержащее функцию DAvg в вычисляемом элементе управления, чтобы отобразить среднюю стоимость предыдущих заказов рядом со стоимостью нового.

DAvg(выражение, подмножество, [ условия_отбора ])

Функция DAvg имеет следующие аргументы.

Аргумент Описание
выражение Выражение, определяющее числовое поле, значения которого надо усреднить. Это может быть строковое выражение, определяющее поле в таблице или запросе, или выражение, которое производит вычисление на основе сведений в этом поле. Аргумент выражение может содержать имя поля в таблице, элемент управления в форме, константу или функцию. Если аргумент выражение содержит функцию, она может быть встроенной или пользовательской функцией, но не может быть другой функцией по подмножеству или статистической функцией SQL
подмножество Строковое выражение, определяющее набор записей, составляющих подмножество. Имя таблицы или имя запроса, для которых не нужен параметр
условия_отбора Необязательное строковое выражение, используемое для ограничения диапазона данных, с которым работает функция DAvg. Аргумент условия_отбора часто эквивалентен предложению WHERE в инструкции SQL без использования самого слова WHERE. Если аргумент условия_отбора опущен, функция DAvg вычисляет выражение для всего подмножества. Поля, включенные в аргумент условия_отбора, должны также входить в подмножество; в противном случае функция DAvg вернет значение Null

Замечания

Записи, содержащие значения Null, не участвуют в вычислении среднего значения.

Независимо от того, используется ли функция DAvg в макросе, модуле, выражении запроса или вычисляемом элементе управления, для точной оценки необходимо тщательно составить аргумент условия_отбора.

Функцию DAvg можно использовать для определения условий отбора в строке условий запроса. Предположим, что требуется просмотреть список всех товаров, количество которых в заказе превышает среднее количество товаров для одного заказа. Можно создать запрос для таблиц «Заказы» (Orders), «Заказано» (Order Details) и «Товары» (Products), включить в него поля «Марка» (Product Name) и «Количество» (Quantity) и создать соответствующее выражение в строке условий ниже поля «Количество» (Quantity):

>DAvg("[Quantity]", "Orders")

Функция DAvg используется в выражении вычисляемого поля запроса или в строке «Обновление» запроса на обновление.

Примечание. Функции DAvg и Avg используются в выражении вычисляемого поля в итоговом запросе. Если используется функция DAvg, среднее значение вычисляется до сортировки данных по группам. Если используется функция Avg, среднее вычисляется до оценки значений в выражении поля.

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

=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Чтобы вычислить среднее значение по всем записям в подмножестве, используйте функцию Avg.

Можно использовать функцию DAvg в модуле, в макросе или в вычисляемом элементе управления на форме, если поле, которое требуется отобразить, не содержится в источнике записей, на основе которого построена форма. Предположим, что имеется форма, построенная на основе таблицы «Заказы» (Orders). Требуется включить поле «Количество» (Quantity) из таблицы «Заказано» (Order Details), чтобы отобразить среднее количество товаров, заказанных определенным клиентом. Для того чтобы провести такое вычисление и отобразить данные на форме, можно использовать функцию DAvg.

Примечания

  • Если функция DAvg используется в вычисляемом элементе управления, можно расположить элемент управления в заголовке или примечании формы, для того чтобы значение в элементе не пересчитывалось каждый раз при перемещении по записям.
  • Если поле, на основе которого строится выражение, имеет числовой тип данных, функция DAvg возвращает тип данных Double. При использовании функции DAvg в вычисляемом элементе управления включите в состав выражения функцию преобразования типа данных для увеличения производительности.

· Хотя для определения среднего по значениям поля во внешней таблице можно использовать функцию DAvg, более эффективный способ — создать запрос, содержащий все требуемые поля, а на основе этого запроса построить форму или отчет.

Примечание. Несохраненные изменения записей подмножества не включаются при использовании этой функции. Если функция DAvg должна быть основана на измененных значениях, необходимо сначала сохранить изменения с помощью команды Сохранить запись в меню Записи, с помощью перемещения фокуса на другую запись или метода Update.

Функция DCount

Функция DCount используется, чтобы определить количество записей в указанном наборе записей (подмножестве). Функция DCount используется в Visual Basic, в макросе, модуле, выражении запроса или в вычисляемом элементе управления.

Например, используйте функцию DCount в модуле для возвращения из таблицы «Заказы» (Orders) количества записей, которые относятся к заказам, размещенным в определенный день.

DCount(выражение, подмножество, [ условия_отбора ])

Функция DCount имеет следующие аргументы.

Аргумент Описание
выражение Выражение, определяющее поле, для которого требуется посчитать количество записей. Это может быть строковое выражение, определяющее поле в таблице или запросе, или выражение, которое производит вычисление на основе сведений в этом поле. Аргумент выражение может содержать имя поля в таблице, элемент управления в форме, константу или функцию. Если аргумент выражение содержит функцию, она может быть встроенной или пользовательской функцией, но не может быть другой функцией по подмножеству или статистической функцией SQL
подмножество Строковое выражение, определяющее набор записей, составляющих подмножество. Имя таблицы или имя запроса, для которых не нужен параметр
условия_отбора Необязательное строковое выражение, используемое для ограничения диапазона данных, с которым работает функция DCount. Аргумент условия_отбора часто эквивалентен предложению WHERE в инструкции SQL без использования самого слова WHERE. Если аргумент условия_отбора опущен, функция DCount вычисляет выражение для всего подмножества. Поля, включенные в аргумент условия_отбора, должны также входить в подмножество; в противном случае функция DCount вернет значение Null

Замечания

Используйте функцию DCount, чтобы посчитать количество записей подмножества, если не требуется знать точные значения записей. Хотя с помощью аргумента выражение можно производить вычисления над полем, функция DCount просто подсчитывает число записей. Результат любого вычисления, совершенного с помощью аргумента выражение, недоступен.

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

=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")

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

Совет

Функция Count оптимизирована для быстрого подсчета количества записей. В запросе используйте функцию Count вместо функции DCount, а также задайте необязательное условие, чтобы наложить любые ограничения на результат. Используйте функцию DCount, когда необходимо вычислить количество записей в подмножестве с помощью модуля, макроса или вычисляемого элемента управления.

Используйте функцию DCount, чтобы вычислить количество записей, содержащихся в определенном поле, которое находится вне источника записей, на основе которого построена форма или отчет. Например, можно отобразить количество заказов в таблице «Заказы» (Orders) в вычисляемом элементе управления, расположенном на форме, созданной на основе таблицы «Товары» (Products).

Функция DCount не учитывает записи, которые содержат значения Null в поле, связанном со значением аргумента выражение, если только аргумент выражение не содержит подстановочного знака «звездочка» (*). В противном случае функция DCount подсчитывает общее число записей, в том числе содержащих поля со значением Null. Следующий пример вычисляет количество записей в таблице «Заказы» (Orders).

intX = DCount("*", "Orders")

Если подмножество является таблицей с ключевым полем, можно подсчитать количество записей, связав агрумент выражение с ключевым полем, так как это поле никогда не содержит значение Null.

Если аргумент выражение указывает на несколько полей, разделите названия полей с помощью оператора слияния — амперсанда (&) или оператора сложения (+). Если для разделения полей используется амперсанд, функция DCount вернет количество записей, содержащих данные в любом из перечисленных полей. Если для разделения полей используется оператор сложения, функция DCount вернет количество записей, которые содержат данные во всех перечисленных полях. В следующем примере представлен результат использования каждого оператора в случае поля, которое содержит данные во всех записях (ShipName), и поля, которое не содержит данные (ShipRegion).

intW = DCount("[ShipName]", "Orders")intX = DCount("[ShipRegion]", "Orders")intY = DCount("[ShipName] + [ShipRegion]", "Orders")intZ = DCount("[ShipName] & [ShipRegion]", "Orders")

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

Несохраненные изменения записей подмножества не включаются при использовании этой функции. Если функция DCount должна быть основана на измененных значениях, необходимо сначала сохранить изменения с помощью команды Сохранить запись в меню Записи, с помощью перемещения фокуса на другую запись или метода Update.

Функции DFirst и DLast

Функции DFirst и DLast можно использовать для возврата случайной записи из определенного поля таблицы или запроса, когда необходимо получить любое значение из этого поля. Функции DFirst и DLast можно использовать в макросе, модуле, выражении запроса или в вычисляемом элементе управления формы или отчета.

DFirst(выражение, подмножество, [ условия_отбора ])

DLast(выражение, подмножество, [ условия_отбора ])

Функции DFirst и DLast имеют следующие аргументы.

Аргумент Описание
выражение Выражение, определяющее поле, из которого нужно взять первое или последнее значение. Это может быть либо строковое выражение, определяющее поле таблицы или запроса, либо формула, по которой обрабатываются данные, содержащиеся в этом поле. В аргумент выражение можно включать имя поля в таблице, элемента управления в форме, константы или функции. В аргумент выражение можно включать только встроенные или определенные пользователем функции. Статистические функции по другому подмножеству или статистические функции SQL туда включать нельзя.
подмножество Строковое выражение, определяющее набор записей, составляющих подмножество.
условия_отбора Необязательное строковое выражение, используемое для ограничения диапазона данных, с которым работает функция DFirst или DLast. Аргумент условие_отбора часто эквивалентен предложению WHERE в инструкции SQL, без использования самого слова WHERE. Если условие_отбора опущено, функции DFirst и DLast вычисляют выражение для всего подмножества. Поля, включенные в условие_отбора, должны также входить в подмножество; в противном случае функциями DFirst и DLast возвращается значение Null.

Замечания

Примечание. Чтобы вернуть первую или последнюю запись в наборе записей (в подмно­жестве), нужно создать запрос, упорядоченный по убыванию или по возрастанию, и присвоить параметру TopValues значение «1». Дополнительные сведения см. в разделе справки для свойства TopValues. В среде Visual Basic можно также создать объект ADO Recordset (Выбрать запись) и использовать для возврата первой или последней записи в наборе записей метод MoveFirst или MoveLast.

Функция DLookup

Функция DLookup используется, чтобы получить значение определенного поля в указанном наборе записей (подмножестве). Функция DLookup используется в Visual Basic, в макросе, модуле, выражении запроса или в вычисляемом элементе управления.

Используйте функцию DLookup, чтобы отобразить значение поля, которое не находится в источнике записей формы или отчета. Предположим, что форма построена на основе таблицы «Заказано». На форме отображены поля «КодЗаказа», «КодТовара», «Цена», «Количество» и «Скидка». Поле «Марка» находится в таблице «Товары». Используйте функцию DLookup в вычисляемом элементе управления, чтобы отобразить поле «Марка» на той же форме.

DLookup(выражение, подмножество, [ условия_отбора ])

Функция DLookup имеет следующие аргументы.

Аргумент Описание
выражение Выражение, которое определяет поле, значение которого нужно возвратить. Это может быть строковое выражение, определяющее поле в таблице или запросе, или выражение, которое производит вычисление на основе сведений в этом поле. Аргумент выражение может содержать имя поля в таблице, элемент управления в форме, константу или функцию. Если аргумент выражение содержит функцию, она может быть встроенной или пользовательской функцией, но не может быть другой функцией по подмножеству или статистической функцией SQL
подмножество Строковое выражение, определяющее набор записей, составляющих подмножество. Имя таблицы или имя запроса, для которых не нужен параметр
условия_отбора Необязательное строковое выражение, используемое для ограничения диапазона данных, с которым работает функция DLookup. Аргумент условия_отбора часто эквивалентен предложению WHERE в инструкции SQL без использования самого слова WHERE. Если аргумент условия_отбора опущен, функция DLookup вычисляет выражение для всего подмножества. Поля, включенные в аргумент условия_отбора, должны также входить в подмножество; в противном случае функция DLookup вернет значение Null

Замечания

Функция DLookup возвращает единственное значение поля на основе сведений, указанных в аргументе условия_отбора. Хотя аргумент условия_отбора необязателен, если опустить этот аргумент, функция DLookup вернет случайное значение из подмножества.

Если ни одна запись не отвечает аргументу условия_отбора или подмножество не содержит записей, функция DLookup возвращает значение Null.

Если аргументу условия_отбора соответствуют несколько полей, функция DLookup возвращает первое найденное значение. Необходимо указать такие условия, при которых значение поля, возвращаемое функцией DLookup, было бы уникальным. Чтобы гарантировать возврат функцией DLookup уникального значения, в качестве условий можно выбрать значение ключевого поля, такого как поле [КодСотрудника], как это показано в следующем примере.

Dim varX As VariantvarX = DLookup("[LastName]", "Employees", "[EmployeeID] = 1")

Независимо от того, используется ли функция DLookup в макросе, модуле, выражении запроса или вычисляемом элементе управления, для точной оценки необходимо тщательно составить аргумент условия_отбора.

Функция DLookup используется для задания условий в строке запроса «Условия отбора», в выражении вычисляемого поля в запросе или в строке «Обновление» запроса на обновление.

Используйте функцию DLookup в выражении в вычисляемом элемент<



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-04-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: