CDaoTableDef::CreateField
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

CDaoTableDef::CreateField 

Call this member function to add a field to the table.


void CreateField( 
   LPCTSTR lpszName, 
   short nType, 
   long lSize, 
   long lAttributes = 0  
);
void CreateField( 
   CDaoFieldInfo& fieldinfo  
);

Parameters

lpszName

A pointer to a string expression specifying the name of this field.

nType

A value indicating the data type of the field. The setting can be one of these values:

Type Size (bytes) Description

dbBoolean

1 byte

BOOL

dbByte

1

BYTE

dbInteger

2

int

dbLong

4

long

dbCurrency

8

Currency (COleCurrency)

dbSingle

4

float

dbDouble

8

double

dbDate

8

Date/Time (COleDateTime)

dbText

1 – 255

Text (CString)

dbLongBinary

0

Long Binary (OLE Object), CLongBinary or CByteArray

dbMemo

0

Memo (CString)

lSize

A value that indicates the maximum size, in bytes, of a field that contains text, or the fixed size of a field that contains text or numeric values. The lSize parameter is ignored for all but text fields.

lAttributes

A value corresponding to characteristics of the field and that can be combined using a bitwise-OR.

Constant Description

dbFixedField

The field size is fixed (default for Numeric fields).

dbVariableField

The field size is variable (Text fields only).

dbAutoIncrField

The field value for new records is automatically incremented to a unique long integer that cannot be changed. Only supported for Microsoft Jet database tables.

dbUpdatableField

The field value can be changed.

dbDescending

The field is sorted in descending (Z – A or 100 – 0) order (applies only to a Field object in a Fields collection of an Index object). If you omit this constant, the field is sorted in ascending (A – Z or 0 – 100) order (default).

fieldinfo

A reference to a CDaoFieldInfo structure.

A DAOField (OLE) object is created and appended to the Fields collection of the DAOTableDef (OLE) object. Besides its use for examining object properties, you can also use CDaoFieldInfo to construct an input parameter for creating new fields in a tabledef. The first version of CreateField is simpler to use, but if you want finer control, you can use the second version of CreateField, which takes a CDaoFieldInfo parameter.

If you use the version of CreateField that takes a CDaoFieldInfo parameter, you must carefully set each of the following members of the CDaoFieldInfo structure:

  • m_strName

  • m_nType

  • m_lSize

  • m_lAttributes

  • m_bAllowZeroLength

The remaining members of CDaoFieldInfo should be set to 0, FALSE, or an empty string, as appropriate for the member, or a CDaoException may occur.

For related information, see the topic "CreateField Method" in DAO Help.

Show:
© 2016 Microsoft