次の方法で共有


CDaoFieldInfo 構造体

CDaoFieldInfo構造体には、データ アクセス オブジェクト (DAO) に対して定義されているフィールド オブジェクトに関する情報が含まれています。

Note

DAO は、Office 2013 でサポートされています。 DAO 3.6 は最終バージョンであり、古いと見なされます。

構文

struct CDaoFieldInfo
{
    CString m_strName;           // Primary
    short m_nType;               // Primary
    long m_lSize;                // Primary
    long m_lAttributes;          // Primary
    short m_nOrdinalPosition;    // Secondary
    BOOL m_bRequired;            // Secondary
    BOOL m_bAllowZeroLength;     // Secondary
    long m_lCollatingOrder;      // Secondary
    CString m_strForeignName;    // Secondary
    CString m_strSourceField;    // Secondary
    CString m_strSourceTable;    // Secondary
    CString m_strValidationRule; // All
    CString m_strValidationText; // All
    CString m_strDefaultValue;   // All
};

パラメーター

m_strName
フィールド オブジェクトに一意に名前を付けます。 詳細については、DAO ヘルプの "Name プロパティ" に関するトピックを参照してください。

m_nType
フィールドのデータ型を示す値。 詳細については、DAO ヘルプの「Type プロパティ」を参照してください。 このプロパティの値は、次のいずれかになります。

  • dbBoolean はい/いいえ。TRUE/FALSE と同じです

  • dbByte バイト

  • dbInteger 短い

  • dbLong 長い

  • dbCurrency 通貨;MFC クラス COleCurrency を参照してください

  • dbSingle

  • dbDouble

  • dbDate 日付/時刻;MFC クラス COleDateTime を参照してください

  • dbText テキスト;MFC クラス CString を参照してください

  • dbLongBinaryLong Binary (OLE オブジェクト); クラスCLongBinaryの代わりに MFC クラス CByteArray を使用して、CByteArrayより豊富で使いやすいものにすることができます。

  • dbMemo メモ;MFC クラスを参照してください CString

  • dbGUID リモート プロシージャ 呼び出しで使用されるグローバル一意識別子/汎用一意識別子。 詳細については、DAO ヘルプの「Type プロパティ」を参照してください。

Note

バイナリ データには文字列データ型を使用しないでください。 これにより、データが Unicode/ANSI 変換レイヤーを通過し、オーバーヘッドが増加し、予期しない翻訳が発生する可能性があります。

m_lSize
テキストを含む DAO フィールド オブジェクトの最大サイズ (バイト単位)、またはテキストまたは数値を含むフィールド オブジェクトの固定サイズを示す値。 詳細については、DAO ヘルプの「Size プロパティ」を参照してください。 サイズには、次のいずれかの値を指定できます。

Type サイズ (バイト) 説明
dbBoolean 1 バイト はい/いいえ (True/False と同じ)
dbByte 1 Byte
dbInteger 2 Integer
dbLong 4 Long
dbCurrency 8 Currency (COleCurrency)
dbSingle 4 単一
dbDouble 8 倍精度浮動小数点型
dbDate 8 日付/時刻 (COleDateTime)
dbText 1 - 255 Text (CString)
dbLongBinary 0 長いバイナリ (OLE オブジェクト; CByteArray; CLongBinaryの代わりに使用)
dbMemo 0 Memo (CString)
dbGUID 16 リモート プロシージャ 呼び出しで使用されるグローバル一意識別子/汎用一意識別子。

m_lAttributes
tabledef、recordset、querydef、または index オブジェクトに含まれるフィールド オブジェクトの特性を指定します。 返される値には、C++ ビットごとの OR (|) 演算子を使用して作成された、これらの定数の合計を指定できます。

  • dbFixedField フィールド サイズは固定されています (数値フィールドの既定値)。

  • dbVariableField フィールド サイズは可変です (テキスト フィールドのみ)。

  • dbAutoIncrField 新しいレコードのフィールド値は、変更できない一意の長整数に自動的にインクリメントされます。 Microsoft Jet データベース テーブルでのみサポートされます。

  • dbUpdatableField フィールド値は変更できます。

  • dbDescending フィールドは降順 (Z - A または 100 - 0) の順序で並べ替えられます (インデックス オブジェクトの Fields コレクション内のフィールド オブジェクトにのみ適用されます。MFC では、インデックス オブジェクト自体は tabledef オブジェクトに含まれます)。 この定数を省略すると、フィールドは昇順 (A ~ Z または 0 - 100) で並べ替えられます (既定値)。

このプロパティの設定を確認するときは、C++ ビットごとの AND 演算子 (&) を使用して、特定の属性をテストできます。 複数の属性を設定する場合は、適切な定数とビットごとの OR (|) 演算子を組み合わせて組み合わせることができます。 詳細については、DAO ヘルプの「Attributes プロパティ」を参照してください。

m_nOrdinalPosition
DAO フィールド オブジェクトで表されるフィールドを他のフィールドに対して相対的に表示する数値の順序を指定する値。 このプロパティは、 CDaoTableDef::CreateField で設定できます。 詳細については、DAO ヘルプの「OrdinalPosition プロパティ」を参照してください。

m_bRequired
DAO フィールド オブジェクトに Null 以外の値が必要かどうかを示します。 このプロパティが TRUE の場合、フィールドは Null 値を使用できません。 [必須] が FALSE に設定されている場合、このフィールドには Null 値と、AllowZeroLength および ValidationRule プロパティの設定で指定された条件を満たす値を含めることができます。 詳細については、DAO ヘルプの「必須プロパティ」を参照してください。 このプロパティは、 CDaoTableDef::CreateField を使用して tabledef に設定できます。

m_bAllowZeroLength
空の文字列 ("") が、Text または Memo データ型を持つ DAO フィールド オブジェクトの有効な値であるかどうかを示します。 このプロパティが TRUE の場合、空の文字列は有効な値です。 空の文字列を使用してフィールドの値を設定できないようにするには、このプロパティを FALSE に設定します。 詳細については、DAO ヘルプの「AllowZeroLength プロパティ」を参照してください。 このプロパティは、 CDaoTableDef::CreateField を使用して tabledef に設定できます。

m_lCollatingOrder
文字列比較または並べ替えのテキスト内の並べ替え順序のシーケンスを指定します。 詳細については、DAO ヘルプの「データ アクセスの Windows レジストリ設定のカスタマイズ」を参照してください。 返される値の一覧については、CDaoDatabaseInfo 構造体のm_lCollatingOrderメンバーを参照してください。 このプロパティは、 CDaoTableDef::CreateField を使用して tabledef に設定できます。

m_strForeignName
リレーションシップで、プライマリ テーブルのフィールドに対応する外部テーブルの DAO フィールド オブジェクトの名前を指定する値。 詳細については、DAO ヘルプの「ForeignName プロパティ」を参照してください。

m_strSourceField
tabledef、recordset、または querydef オブジェクトに含まれる DAO フィールド オブジェクトのデータの元のソースであるフィールドの名前を示します。 このプロパティは、フィールド オブジェクトに関連付けられている元のフィールド名を示します。 たとえば、このプロパティを使用して、基になるテーブル内のフィールドの名前と関係のない名前を持つクエリ フィールド内のデータの元のソースを特定できます。 詳細については、DAO ヘルプの「SourceField、SourceTable プロパティ」のトピックを参照してください。 このプロパティは、 CDaoTableDef::CreateField を使用して tabledef に設定できます。

m_strSourceTable
tabledef、recordset、または querydef オブジェクトに含まれる DAO フィールド オブジェクトのデータの元のソースであるテーブルの名前を示します。 このプロパティは、フィールド オブジェクトに関連付けられている元のテーブル名を示します。 たとえば、このプロパティを使用して、基になるテーブル内のフィールドの名前と関係のない名前を持つクエリ フィールド内のデータの元のソースを特定できます。 詳細については、DAO ヘルプの「SourceField、SourceTable プロパティ」のトピックを参照してください。 このプロパティは、 CDaoTableDef::CreateField を使用して tabledef に設定できます。

m_strValidationRule
フィールド内のデータが変更またはテーブルに追加されるときに検証する値。 詳細については、DAO ヘルプの「ValidationRule プロパティ」のトピックを参照してください。 このプロパティは、 CDaoTableDef::CreateField を使用して tabledef に設定できます。

tabledef の関連情報については、CDaoTableDefInfo 構造体のm_strValidationRule メンバーを参照してください。

m_strValidationText
DAO フィールド オブジェクトの値が ValidationRule プロパティの設定で指定された検証規則を満たしていない場合にアプリケーションが表示するメッセージのテキストを指定する値。 詳細については、DAO ヘルプの「ValidationText プロパティ」のトピックを参照してください。 このプロパティは、 CDaoTableDef::CreateField を使用して tabledef に設定できます。

m_strDefaultValue
DAO フィールド オブジェクトの既定値。 新しいレコードが作成されると、DefaultValue プロパティの設定がフィールドの値として自動的に入力されます。 詳細については、DAO ヘルプの「DefaultValue プロパティ」を参照してください。 このプロパティは、 CDaoTableDef::CreateField を使用して tabledef に設定できます。

解説

上記の Primary、Secondary、All への参照は、クラス CDaoTableDefCDaoQueryDef、および CDaoRecordsetGetFieldInfo メンバー関数によって情報がどのように返されるかを示します。

フィールド オブジェクトは、MFC クラスでは表されません。 代わりに、次のクラスの MFC オブジェクトの基になる DAO オブジェクトには、フィールド オブジェクトのコレクションが含まれます: CDaoTableDefCDaoRecordset、および CDaoQueryDef。 これらのクラスは、フィールド情報の個々の項目にアクセスするためのメンバー関数を提供します。または、 CDaoFieldInfo オブジェクトを使用して、包含オブジェクトの GetFieldInfo メンバー関数を呼び出すことによって、それらすべてに一度にアクセスできます。

オブジェクトのプロパティを調べるだけでなく、 CDaoFieldInfo を使用して、tabledef に新しいフィールドを作成するための入力パラメーターを作成することもできます。 このタスクではより簡単なオプションを使用できますが、より細かい制御が必要な場合は、CDaoFieldInfo パラメーターを受け取る CDaoTableDef::CreateField のバージョンを使用できます。

(フィールドを含むクラスの) GetFieldInfo メンバー関数によって取得された情報は、 CDaoFieldInfo 構造体に格納されます。 フィールド オブジェクトが格納されている Fields コレクション内の包含オブジェクトの GetFieldInfo メンバー関数を呼び出します。 CDaoFieldInfo では、デバッグ ビルドで Dump メンバー関数も定義します。 Dump を使用して、CDaoFieldInfo オブジェクトの内容をダンプすることができます。

要件

ヘッダー: afxdao.h

関連項目

構造体、スタイル、コールバック関数とメッセージ マップ
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo