void CreateField( LPCTSTR lpszName, short nType, long lSize, long lAttributes = 0 );
throw( CDaoException, CMemoryException );
void CreateField( CDaoFieldInfo& fieldinfo );
throw( CDaoException, CMemoryException );
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.
Remarks
Call this member function to add a field to the table. 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:
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 more information on tabledefs, see the articles DAO Tabledef and DAO Tabledef: Using Tabledefs in Visual C++ Programmer's Guide. For related information, see the topic "CreateField Method" in DAO Help.
CDaoTableDef Overview | Class Members | Hierarchy Chart
See Also CDaoTableDef::DeleteField, CDaoTableDef::CreateIndex, CDaoTableDef::DeleteIndex