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

AUSED(ArrayName [, nDataSessionNumber [, cTableName]])

Параметры

ArrayName

Определяет имя массива, в который размещается затребованная информация. Если указанный массив не существует, система Visual FoxPro автоматически создает указанный массив. Если массив уже существует, но имеет недостаточный размер для размещения всей необходимой информации, Visual FoxPro автоматически увеличит размерность массива до необходимых размеров. Если массив имеет избыточный размер, Visual FoxPro уменьшит размерность массива. Если массив существует, а функция AUSED( ) возвращает значение = 0, т.е. нет открытых таблиц данных, тогда массив не изменяется. Если указанный массив отсутствует, а функция AUSED( ) возвращает значение = 0, тогда массив не создается.

nDataSessionNumber

Определяет номер сессии данных, для которой рассматриваемая функция AUSED( ) возвращает массив Алиасов и рабочих областей открытых таблиц. Если данный параметр, nDataSessionNumber,  отсутствует то функция AUSED( ) возвращает информацию об используемых алиасах  для текущей сессии данных. Для задания текущей сессии данных используется команда SET DATASESSION.

cTableName

В массив помещаются только алиасы открытых таблиц, определяемых данным параметром cTableName.

Текущая сессия данных используется в том случае, если параметр nDataSessionNumber установлен в значение = null (.NULL.).

Параметр cTableName может иметь следующий формат: список алиасов, в порядке которого выполняется поиск открытых таблиц или следующие допустимые форматы:

DatabaseName!TableName или DatabaseName!ViewName.

Path\DatabaseName!TableName или Path\DatabaseName!ViewName.

Контейнер Базы Данных (DBC) однозначно определяет имя соответствующей таблицы для текущей сессии данных,

Простые или полные имена Таблиц.

Expand imageВозвращаемое значение

Числового типа

Expand imageКомментарии

AUSED( ) возвращает количество строк информационного массива, каждая из которых однозначно описывает алиас открытой таблицы данных текущей сессии данных.

AUSED( ) создает двумерный массив; в первом столбце размещаются имена алиасов открытых таблиц. Во втором столбце создаваемого массива размещаются номера рабочих областей, в которых открыты соответствующие таблицы данных.

Имена алиасов открытых таблиц размещаются в результирующем информационном массиве в реверсивном порядке: Например, в первом элементе элементе размещается алиас таблицы, которая была открыта в последнюю очередь при создании среды окружения; в последнем элементе массива содержится имя алиаса первой открытой таблицы. Данный порядок размещения алиасов открытых таблиц используется в процессе обновления данных с помощью функции TABLEUPDATE( ). См. пример:

  CopyCode imageКопировать Код
FOR x = 1 TO AUSED(aTableAliases,1)
   IF CURSORGETPROP( "Buffering", aTableAliases(x) ) > 1 && Buffered
      ? TABLEUPDATE( 0, .T., aTableAliases(x) )
   ENDIF
NEXT

Expand imageПример

В представленном примере, функция AUSED( ) используется для создания информационного массива с именем gaInuse, который содержит имена алиасов открытых таблиц и рабочих областей в текущей сессии данных. Отображается количество открытых таблиц для текущей сессии данных; на экран выводится информация об элементах массива - именах алиасов открытых таблиц и рабочих областей.

  CopyCode imageКопировать Код
OPEN DATABASE (HOME(2) + 'Data\testdata') EXCLUSIVE
USE Customer IN 0
CLEAR
? AUSED(gaInuse)
DISPLAY MEMORY LIKE gaInuse
CLOSE DATABASES

Expand imageСм. также