AFIELDS()

From Recital Documentation Wiki
Revision as of 13:50, 26 July 2010 by Yvonnemilne (Talk | contribs)

Jump to: navigation, search

Purpose

Function to fill a series of arrays with table structure details


Syntax

AFIELDS(<array1> [,<array2> [,<array3> [,<array4>]]])

AFIELDS(<array> [,<workarea | alias>])


See Also

AADD(), AAVERAGE(), ABROWSE(), ACHOICE(), ACOL(), ACOPY(), ADEL(), ADESC(), ADIR(), AELEMENT(), AFILL(), AINS(), ALEN(), AMAX(), AMIN(), APPEND FROM ARRAY, AROW(), ARRAY(), ASCAN(), ASIZE(), ASORT(), ASTORE(), ASTRING(), ASUBSCRIPT(), ASUM(), COPY TO ARRAY, DECLARE, DIMENSION, GATHER, IN_ARRAY(), IS_ARRAY(), LOCAL, PRIVATE, PUBLIC, RELEASE, RESTORE, SAVE, SCATTER, SET COMPATIBLE


Description

The AFIELDS() function returns the number of fields in the table in the current workarea and loads the field names into an array, <array1>. The field types, field lengths and field decimals can also be loaded into individual arrays.


Parameters Description
<array1> The name of a pre-declared array in which to load the character string field name.
<array2> The name of a pre-defined array in which to load the field data types as character strings.
<array3> The name of a pre-defined array in which to load the field lengths as numeric values.
<array4> The name of a pre-defined array in which to load the field decimal places as numeric values. If the field is not a numeric data type or has no decimal places, then zero is returned.


The SET FIELDS command can be used to restrict the active fields and therefore determine which fields are copied into the array.

With SET COMPATIBLE set to FoxPro, Foxbase or VFP, the AFIELDS() function syntax conforms to Visual FoxPro behavior. The information detailed in the table below is loaded into the 18 columns of the single array <array>. Each row in the array corresponds to a field in the table. If the optional <workarea | alias> is specified, then the function will operate in the required location, otherwise it will operate in the current workarea.


Column Information Data Type
1 Field name Character
2 Field type:

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 values allowed Logical
6 Code page translation not allowed 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 Long table name Character
13 Insert trigger expression Character
14 Update trigger expression Character
15 Delete trigger expression Character
16 Table comment Character
17 NextValue for autoincrementing Numeric
18 Step for autoincrementing Numeric


Example

use patrons
declare tab1(12),tab2(12),tab3(12),tab4(12)
fields = afields(tab1,tab2,tab3,tab4)
 
//VFP example
set compatible to vfp
use orders in 0
use products in 0
nFIELDS = AFIELDS(array1,"orders")


Products

Recital Server, Recital