CDaoFieldInfo 構造体
CDaoFieldInfo の構造はデータ アクセス オブジェクト (DAO) に対して定義されているフィールド オブジェクトに関する情報が含まれています。
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 ヘルプ トピック 「型のプロパティ」を参照してください。このプロパティの値は、次のいずれかになります。:dbBoolean い/ TRUEと同様にFALSE
dbByte バイト数]
短い dbInteger
長のdbLong
dbCurrency の通貨; MFC クラス COleCurrencyを参照してください。
dbSingle のシングル
dbDouble の Double
dbDate の日付/時刻; MFC クラス COleDateTimeを参照してください。
dbText のテキスト; MFC クラス CStringを参照してください。
dbLongBinary の長いバイナリ (OLE オブジェクト); CByteArray が豊富、使いやすく、クラス CLongBinary の代わりに MFC クラス CByteArray を使用する場合があります。
dbMemo のメモ; MFC クラス CStringを参照してください。
dbGUID リモート プロシージャ呼び出しで使用されるグローバル一意識別子と汎用一意識別子。詳細については、 DAO ヘルプ トピック 「型のプロパティ」を参照してください。
[!メモ]
バイナリ データの文字列型を使用しないでください。これにより、データは大きくするオーバーヘッドと、予期しない変換によって Unicode/ANSI 変換のレイヤーを、です。
m_lSize
最大サイズを、テキストまたは数値を含むフィールド オブジェクトのテキストまたは固定サイズを含む DAO のフィールド オブジェクトのバイトで、示す値。詳細については、 DAO ヘルプ トピック 「サイズ プロパティ」を参照してください。サイズは次の値のいずれか 1 つがです:種類
サイズ (バイト)
Description
dbBoolean
1 バイト
Yes/No (true/false と同じ)
dbByte
1
Byte
dbInteger
2
Integer (整数型)
dbLong
4
Long
dbCurrency
8
通貨 (COleCurrency)
dbSingle
4
Single
dbDouble
8
Double (倍精度浮動小数点型)
dbDate
8
日付/時刻 (COleDateTime)
dbText
1 - 255
テキスト (CString)
dbLongBinary
0
長いバイナリ (OLE オブジェクト; CByteArray; CLongBinaryの代わりに使用)
dbMemo
0
メモ (CString)
dbGUID
16
リモート プロシージャ呼び出しで使用されるグローバル一意識別子と汎用一意識別子。
m_lAttributes
tabledef、レコードセット、クエリ定義、またはインデックス オブジェクトに含まれるフィールド オブジェクトの特性を指定します。返される値は、 C++ で作成されたこれらの定数の合計になります。ビットごとの OR (**|**演算子):dbFixedField フィールドは固定サイズ (数値フィールドの既定値)。
dbVariableField フィールド サイズが変化します (テキスト フィールドのみ)。
dbAutoIncrField は変更できない一意の長整数に新しいレコードのフィールドの値は自動的にインクリメントします。Microsoft Jet データベース テーブルの場合にのみサポートされます。
dbUpdatableField は、フィールドの値を変更できます。
dbDescending は降順の 18 (Z ~ A または 100 ~ 0)の順で並べ替えられますフィールド (インデックス オブジェクトのフィールド コレクションのフィールド オブジェクトだけ適用します; MFC では、インデックス オブジェクトは、テーブル定義オブジェクトに格納されます)。この定数を省略すると、フィールドが昇順 (A ~ Z または 0 ~ 100)順序 (既定)に並べ替えられます。
このプロパティの設定を確認すると、特定の属性をテストするのに C++ ビットごとの AND 演算子 (&)を使用できます。複数の属性を設定すると、適切な定数を組み合わせることで、それらをビットごとの OR (|) 演算子を使用して、複数のオプションを指定できます。詳細については、 DAO ヘルプ トピック 「属性プロパティ」を参照してください。
m_nOrdinalPosition
は、フィールドとなる数値順序を指定する値は、他のフィールドに関連して表示する DAO のフィールド オブジェクトによって表される。CDaoTableDef::CreateFieldでこのプロパティを設定できます。詳細については、 DAO ヘルプ トピック 「OrdinalPosition プロパティ」を参照してください。m_bRequired
DAO のフィールド オブジェクトが以外の値を必要とするかどうかを示します。このプロパティが TRUEの場合、フィールドは NULL 値を許可しません。必要に応じて FALSEに設定され、フィールドは AllowZeroLength と ValidationRule のプロパティ設定で指定された条件を満たす null 値、または値を含めることができます。詳細については、 DAO ヘルプ トピック 「必須プロパティ」を参照してください。CDaoTableDef::CreateFieldの tabledef でこのプロパティを設定できます。m_bAllowZeroLength
空の文字列 ("")がテキストまたはメモのデータ型を持つ 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、レコードセット、またはクエリ定義オブジェクトに含まれる DAO のフィールド オブジェクトのデータの元のソースのフィールドの名前を示します。このプロパティは、フィールド オブジェクトに関連付けられている元のフィールド名を示します。たとえば、名前が基になるテーブルのフィールドの名前に関係のあるクエリ フィールドのデータの元のソースを確認するには、このプロパティを使用できます。詳細については、 「SourceField の DAO ヘルプ SourceTable のプロパティ」を参照してください。CDaoTableDef::CreateFieldの tabledef でこのプロパティを設定できます。m_strSourceTable
tabledef、レコードセット、またはクエリ定義オブジェクトに含まれる DAO のフィールド オブジェクトのデータの元のソースであるテーブルの名前を示します。このプロパティは、フィールド オブジェクトに関連付けられている元のテーブルの名前を示します。たとえば、名前が基になるテーブルのフィールドの名前に関係のあるクエリ フィールドのデータの元のソースを確認するには、このプロパティを使用できます。詳細については、 「SourceField の DAO ヘルプ SourceTable のプロパティ」を参照してください。CDaoTableDef::CreateFieldの tabledef でこのプロパティを設定できます。m_strValidationRule
テーブルに変更または追加されるたびにフィールドにデータを検証する値。詳細については、 DAO ヘルプ トピック 「ValidationRule プロパティ」を参照してください。CDaoTableDef::CreateFieldの tabledef でこのプロパティを設定できます。tabledefs に関する関連情報については、 CDaoTableDefInfo の構造体の m_strValidationRule のメンバーを参照してください。
m_strValidationText
DAO オブジェクトのフィールドの値が ValidationRule のプロパティ設定で指定された検証規則を満たすアプリケーションが表示するメッセージのテキストを指定する値。詳細については、 DAO ヘルプ トピック 「ValidationText プロパティ」を参照してください。CDaoTableDef::CreateFieldの tabledef でこのプロパティを設定できます。m_strDefaultValue
DAO オブジェクトのフィールドの既定値。新しいレコードが作成されると、 DefaultValue のプロパティ設定がフィールド値として自動的に入力されます。詳細については、 DAO ヘルプ トピック 「DefaultValue プロパティ」を参照してください。CDaoTableDef::CreateFieldの tabledef でこのプロパティを設定できます。
解説
プライマリ、セカンダリへの参照は、上のすべての情報をクラス CDaoTableDef、 CDaoQueryDefと CDaoRecordsetの GetFieldInfo のメンバー関数によってどのように戻るかを示します。
フィールド オブジェクトは、 MFC クラスでは表示されません。代わりに、次のクラスの MFC オブジェクトの基になる DAO のオブジェクトはフィールド オブジェクトのコレクションを含んでいます: CDaoTableDef、 CDaoRecordsetと CDaoQueryDef。フィールドの情報での項目にアクセスするこれらのクラスの提供のメンバー関数または、 CDaoFieldInfo のオブジェクトとコンテナー オブジェクトの GetFieldInfo のメンバー関数を呼び出すことにより、一度にアクセスできます。
オブジェクト プロパティを調べるための使用のほかに、 tabledef で新しいフィールドを作成するための入力パラメーターの構築に CDaoFieldInfo を使用できます。簡単なオプションは、このタスクに使用できますが、細かく制御するには、 CDaoFieldInfo パラメーターを受け取る CDaoTableDef::CreateField のバージョンを使用できます。
(フィールドを含むクラス)の GetFieldInfo のメンバー関数によって取得された情報は CDaoFieldInfo の構造体に格納されます。フィールド コレクションにフィールド オブジェクトを格納するコンテナー オブジェクトの GetFieldInfo のメンバー関数を呼び出します。CDaoFieldInfo は、デバッグ ビルドの Dump のメンバー関数を定義します。CDaoFieldInfo のオブジェクトの内容をダンプするために Dump を使用できます。
必要条件
Header: afxdao.h