次の方法で共有


CDaoFieldInfo 構造体

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

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/FAL と同じですStandard Edition

  • 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 Single
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 値を使用できません。 Required が FAL Standard Edition に設定されている場合、このフィールドには Null 値と、AllowZeroLength および ValidationRule プロパティの設定で指定された条件を満たす値を含めることができます。 詳細については、DAO ヘルプの「必須プロパティ」を参照してください。 このプロパティは、CDaoTableDef::CreateField を使用して tabledef に設定できます。

m_bAllowZeroLength
空の文字列 ("") が、Text または Memo データ型を持つ DAO フィールド オブジェクトの有効な値であるかどうかを示します。 このプロパティが TRUE の場合、空の文字列は有効な値です。 このプロパティを FAL Standard Edition に設定して、空の文字列を使用してフィールドの値を設定できないようにすることができます。 詳細については、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 への参照は、CDaoTableDef、CDaoQueryDef、および CDaoRecordset クラスのメンバー関数によってGetFieldInfo情報がどのように返されるかを示します。

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

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

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

必要条件

ヘッダー: afxdao.h

関連項目

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