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 EditiondbByte
バイト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 | 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 オブジェクトには、フィールド オブジェクトのコレクションが含まれています: CDaoTableDef、CDaoRecordset、および CDaoQueryDef。 これらのクラスは、フィールド情報の個々の項目にアクセスするためのメンバー関数を提供します。または、含むオブジェクトのメンバー関数を呼び出GetFieldInfo
すことによって、オブジェクトを使用CDaoFieldInfo
して一度にすべての項目にアクセスできます。
オブジェクトプロパティを調べるための使用に加えて、tabledefに新しいフィールドを作成するための入力パラメータを構築することもできます CDaoFieldInfo
。 このタスクでは、より簡単なオプションを使用できますが、より細かい制御が必要な場合は、パラメーターを受け取る CDaoTableDef::CreateField のバージョンをCDaoFieldInfo
使用できます。
(フィールドを GetFieldInfo
含むクラスの) メンバー関数によって取得された情報は、構造体に CDaoFieldInfo
格納されます。 フィールド オブジェクトが GetFieldInfo
格納されている Fields コレクション内の包含オブジェクトのメンバー関数を呼び出します。 CDaoFieldInfo
では、デバッグ ビルドで Dump
メンバー関数も定義します。 Dump
を使用して、CDaoFieldInfo
オブジェクトの内容をダンプすることができます。
必要条件
ヘッダー: afxdao.h
関連項目
構造体、スタイル、コールバック関数とメッセージ マップ
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示