CDaoTableDef::CreateField
テーブルにフィールドを追加します。
void CreateField(
LPCTSTR lpszName,
short nType,
long lSize,
long lAttributes = 0
);
void CreateField(
CDaoFieldInfo& fieldinfo
);
パラメーター
lpszName
フィールド名を示す文字列式へのポインター。nType
フィールドのデータ型を示す値。 次の値の 1 つを指定できます。次のように入力します。
サイズ (バイト)
説明
dbBoolean
1 バイト
BOOL
dbByte
1
BYTE
dbInteger
2
int
dbLong
4
long
dbCurrency
8
通貨型 (COleCurrency)
dbSingle
4
float
dbDouble
8
double
dbDate
8
日付/時刻型 (COleDateTime)
dbText
1 – 255
テキスト型 (CString)
dbLongBinary
0
Long Binary 型 (OLE オブジェクト) CLongBinary または CByteArray
dbMemo
0
メモ型 (CString)
lSize
テキストが格納されるフィールドの最大サイズをバイト単位で示すか、テキストまたは数値が格納されるフィールドの固定サイズを示す値。 lSize パラメーターはテキスト フィールド以外のすべてのフィールドで無視されます。lAttributes
フィールドの特性に対応した値で、次の定数をビットごとの OR 演算子で組み合わせて指定できます。定数
説明
dbFixedField
フィールド サイズは固定です (数値フィールドの既定)。
dbVariableField
フィールド サイズは可変です (テキスト フィールドのみ)。
dbAutoIncrField
新しいレコードのフィールド値は、変更できない一意な long 整数に、自動的にインクリメントされます。 Microsoft Jet データベースのテーブル用だけにサポートされています。
dbUpdatableField
フィールド値は変更できます。
dbDescending
フィールドは降順 (Z - A または 100 - 0) で並べ替えられます。この定数は、インデックス オブジェクトの Fields コレクション内のフィールド オブジェクトに対してのみ適用されます。 この定数を指定しない場合、フィールドは昇順 (A - Z または 0 -100) で並べ替えられます (既定)。
fieldinfo
CDaoFieldInfo 構造体へのポインター。
解説
DAOField (OLE) オブジェクトが作成され、DAOTableDef (OLE) オブジェクトの Fields コレクションに追加されます。 CDaoFieldInfo は、オブジェクトのプロパティを調べるほかに、テーブル定義の新しいフィールドを作成するための入力パラメーターを生成するために使うこともできます。 CreateField の最初の形式は簡単に使用できますが、より細かく制御する場合には、CDaoFieldInfo パラメーターをとる CreateField の 2 番目の形式を使用します。
CreateField の CDaoFieldInfo パラメーターをとる形式を使用するときは、次の各 CDaoFieldInfo 構造体のメンバーの設定を注意深く行う必要があります。
m_strName
m_nType
m_lSize
m_lAttributes
m_bAllowZeroLength
CDaoFieldInfo の残りのメンバーは、メンバーに応じて、0、FALSE、または空の文字列に設定します。それ以外を設定すると、CDaoException が発生することがあります。
関連情報については、DAO ヘルプの「CreateField Method」を参照してください。
必要条件
**ヘッダー:**afxdao.h