Note
Microsoft Foundation Classes (MFC) ライブラリは引き続きサポートされています。 ただし、機能の追加やドキュメントの更新は行われません。
CDaoRelationInfo構造体には、CDaoDatabase オブジェクト内の 2 つのテーブルのフィールド間で定義されたリレーションシップに関する情報が含まれています。
Note
DAO は、Office 2013 でサポートされています。 DAO 3.6 は最終バージョンであり、古いと見なされます。
構文
struct CDaoRelationInfo
{
CDaoRelationInfo(); // Constructor
CString m_strName; // Primary
CString m_strTable; // Primary
CString m_strForeignTable; // Primary
long m_lAttributes; // Secondary
CDaoRelationFieldInfo* m_pFieldInfos; // Secondary
short m_nFields; // Secondary
// Below the // Implementation comment:
// Destructor, not otherwise documented
};
パラメーター
m_strName
リレーション オブジェクトに一意の名前を付けます。 詳細については、DAO ヘルプのトピック「Name プロパティ」を参照してください。
m_strTable
リレーションシップ内のプライマリ テーブルに名前を付けます。
m_strForeignTable
リレーションシップ内の外部テーブルに名前を付けます。 外部テーブルは、外部キーを格納するために使用されるテーブルです。 一般に、外部テーブルを使用して参照整合性を確立または適用します。 外部テーブルは通常、一対多リレーションシップの多くの側にあります。 外部テーブルの例としては、米国またはカナダの州または顧客注文のコードを含むテーブルがあります。
m_lAttributes
リレーションの種類に関する情報を格納します。 このメンバーの値には、次のいずれかを指定できます。
dbRelationUniqueリレーションシップは 1 対 1 です。dbRelationDontEnforceリレーションシップは適用されません (参照整合性はありません)。dbRelationInheritedリレーションシップは、2 つのアタッチされたテーブルを含む非カレント データベースに存在します。dbRelationLeftリレーションシップは左結合です。 左外部結合には、2 番目のテーブル (右側) のレコードに一致する値がない場合でも、2 つのテーブルの最初の (左側) のすべてのレコードが含まれます。dbRelationRightリレーションシップは適切な結合です。 右外部結合には、2 つのテーブルの 2 番目 (右側) のすべてのレコードが含まれます。最初の (左側の) テーブルのレコードに一致する値がない場合でも、dbRelationUpdateCascade更新プログラムは連鎖的に更新されます。dbRelationDeleteCascade削除は連鎖します。
m_pFieldInfos
CDaoRelationFieldInfo 構造体の配列へのポインター。 配列には、リレーション内のフィールドごとに 1 つのオブジェクトが含まれています。
m_nFields データ メンバーは、配列要素の数を指定します。
m_nFields
CDaoRelationFieldInfo データ メンバー内のm_pFieldInfos オブジェクトの数。
解説
上記の Primary および Secondary への参照は、クラス の CDaoDatabase メンバー関数によって情報がどのように返されるかを示しています。
Relation オブジェクトは MFC クラスでは表されません。 代わりに、 CDaoDatabase クラスの MFC オブジェクトの基になる DAO オブジェクトは、リレーション オブジェクトのコレクションを保持します。 CDaoDatabase は、関係情報の個々の項目にアクセスするためのメンバー関数を提供します。また、 CDaoRelationInfo オブジェクトを含むデータベース オブジェクトの GetRelationInfo メンバー関数を呼び出すことによって、それらすべてに一度にアクセスすることもできます。
CDaoDatabase::GetRelationInfo メンバー関数によって取得された情報は、CDaoRelationInfo構造体に格納されます。
CDaoRelationInfo では、デバッグ ビルドで Dump メンバー関数も定義します。
Dump を使用して、CDaoRelationInfo オブジェクトの内容をダンプすることができます。
要件
ヘッダー: afxdao.h