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 を参照してくださいdbLongBinary
Long 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 への参照は、クラス CDaoTableDef、CDaoQueryDef、および CDaoRecordset のGetFieldInfo
メンバー関数によって情報がどのように返されるかを示します。
フィールド オブジェクトは、MFC クラスでは表されません。 代わりに、次のクラスの MFC オブジェクトの基になる DAO オブジェクトには、フィールド オブジェクトのコレクションが含まれます: CDaoTableDef、 CDaoRecordset、および CDaoQueryDef。 これらのクラスは、フィールド情報の個々の項目にアクセスするためのメンバー関数を提供します。または、 CDaoFieldInfo
オブジェクトを使用して、包含オブジェクトの GetFieldInfo
メンバー関数を呼び出すことによって、それらすべてに一度にアクセスできます。
オブジェクトのプロパティを調べるだけでなく、 CDaoFieldInfo
を使用して、tabledef に新しいフィールドを作成するための入力パラメーターを作成することもできます。 このタスクではより簡単なオプションを使用できますが、より細かい制御が必要な場合は、CDaoFieldInfo
パラメーターを受け取る CDaoTableDef::CreateField のバージョンを使用できます。
(フィールドを含むクラスの) GetFieldInfo
メンバー関数によって取得された情報は、 CDaoFieldInfo
構造体に格納されます。 フィールド オブジェクトが格納されている Fields コレクション内の包含オブジェクトの GetFieldInfo
メンバー関数を呼び出します。 CDaoFieldInfo
では、デバッグ ビルドで Dump
メンバー関数も定義します。 Dump
を使用して、CDaoFieldInfo
オブジェクトの内容をダンプすることができます。
要件
ヘッダー: afxdao.h
関連項目
構造体、スタイル、コールバック関数とメッセージ マップ
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo