CDaoTableDef::CreateField
更新 : 2007 年 11 月
テーブルにフィールドを追加します。
void CreateField(
LPCTSTR lpszName,
short nType,
long lSize,
long lAttributes = 0
);
void CreateField(
CDaoFieldInfo& fieldinfo
);
パラメータ
lpszName
フィールド名を示す文字列式へのポインタ。nType
フィールドのデータ型を示す値。次の値の 1 つを指定できます。型
サイズ (バイト)
説明
dbBoolean
1 バイト
ブール型
dbByte
1
バイト型
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