次の方法で共有


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 番目の形式を使用します。

CreateFieldCDaoFieldInfo パラメーターをとる形式を使用するときは、次の各 CDaoFieldInfo 構造体のメンバーの設定を注意深く行う必要があります。

  • m_strName

  • m_nType

  • m_lSize

  • m_lAttributes

  • m_bAllowZeroLength

CDaoFieldInfo の残りのメンバーは、メンバーに応じて、0FALSE、または空の文字列に設定します。それ以外を設定すると、CDaoException が発生することがあります。

関連情報については、DAO ヘルプの「CreateField Method」を参照してください。

必要条件

**ヘッダー:**afxdao.h

参照

参照

CDaoTableDef クラス

階層図

CDaoTableDef::DeleteField

CDaoTableDef::CreateIndex

CDaoTableDef::DeleteIndex

その他の技術情報

CDaoTableDef のメンバー