Извлекает информацию о структуре таблицы в указанной рабочей области, или указанной по псевдоимени, или открытой в текущей рабочей области, сохраняет ее в массиве и возвращает число полей в таблице.
AFIELDS( ArrayName [, nWorkArea | cTableAlias ] ) |
Параметры
- ArrayName
-
Определяет имя массива для хранения информации о структуре таблицы.
Если указанный вами массив еще не существует, то Visual FoxPro создаст его автоматически. Если же массив существует, но не достаточно велик, чтобы вместить в себя информацию, возвращаемую AFIELDS( ), то его размер будет автоматически увеличен с тем, чтобы вместить всю требуемую информацию.
- nWorkArea
-
Указывает рабочую область, в которой открыта таблица.
- cTableAlias
-
Указывает псевдоимя таблицы.
Если вы опустите nWorkArea и cTableAlias, AFIELDS( ) вернет информацию о таблице, открытой в текущей рабочей области.
Возвращаемое значение
Численный тип данных. AFIELDS( ) возвращает число полей в таблице. Массив содержит 18 колонок и количество строк, равное числу полей в таблице.
В приведенной ниже таблице описывается содержание каждой колонки в первой строке массива и тип данных информации, хранимой в каждой колонке. Значения для свойств, относящихся к таблице появляеться только в первой строке массива и размещаются в колонках с 10-й по 16-ю. One row is created for each field in the table.
Номер колонки | Информация о поле | Тип данных |
---|---|---|
1 |
имя поля |
Character |
2 |
тип поля: C = Character Y = Currency D = Date T = DateTime B = Double F = Float G = General I = Integer L = Logical M = Memo N = Numeric Q = Varbinary V = Varchar and Varchar (Binary) W = Blob |
Character |
3 |
ширина поля (Field width) |
Numeric |
4 |
Число десятичный мест, после запятой (Decimal places) |
Numeric |
5 |
допускаются Null значения |
Logical |
6 |
Не разрешена трансляция кодовых страниц |
Logical |
7 |
Выражение проверки поля (Field validation expression) |
Character |
8 |
Текст выражение проверки поля (Field validation text) |
Character |
9 |
Значение поля по умолчанию (Field default value) |
Character |
10 |
Выражение проверки таблицы (Table validation expression) |
Character |
11 |
Текст выражение проверки таблицы (Table validation text) |
Character |
12 |
Длинное имя таблицы |
Character |
13 |
Выражение триггера вставки (Insert trigger expression) |
Character |
14 |
Выражение триггера обновления (Update trigger expression) |
Character |
15 |
Выражение триггера удаления (Delete trigger expression) |
Character |
16 |
Комментарий к таблице (Table comment) |
Character |
17 |
NextValue для автоувеличения |
Numeric |
18 |
Шаг автоувеличения (Step) |
Numeric |
Примечания
Если поля в таблице используют автоувеличение значений, то это можно определить по значению Step, которое в таком случае больше, чем 0.
Вы можете использовать COPY STRUCTURE EXTENDED для размещения подобной инфомации в таблицу вместо массива, используемого в данной функции.
Пример
Приведенный ниже пример создает массив с именем gaMyArray
, который содержит информацию о полях таблицы Customer
. Отображаются имена полей.
![]() | |
---|---|
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\testdata') USE Customer && открывается таблица Customer. gnFieldcount = AFIELDS(gaMyArray) && создается массив. CLEAR FOR nCount = 1 TO gnFieldcount ? gaMyArray(nCount,1) && отображаются имена полей. ENDFOR |
Смотрите также
Справочное руководство
Функция ADEL( )Функция ADIR( )
Функция AELEMENT( )
Функция AINS( )
Функция ALEN( )
Команда ALTER TABLE - SQL
Функция ASCAN( )
Функция ASORT( )
Функция ASUBSCRIPT( )
Команда COPY STRUCTURE EXTENDED
Команда CREATE
Команда CREATE TABLE - SQL
Команда DIMENSION
Типы данных и полей Visual FoxPro
Концепции
Автоувеличение значений поля в таблицахПрочие ресурсы
ФункцииСправочное руководство по языку (Visual FoxPro)