CDaoRelationInfo 構造体

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
m_pFieldInfos データ メンバー内のCDaoRelationFieldInfo オブジェクトの数。

解説

上記の Primary および Secondary への参照は、クラス CDaoDatabaseGetRelationInfo メンバー関数によって情報がどのように返されるかを示しています。

Relation オブジェクトは MFC クラスでは表されません。 代わりに、 CDaoDatabase クラスの MFC オブジェクトの基になる DAO オブジェクトは、リレーション オブジェクトのコレクションを保持します。 CDaoDatabase は、関係情報の個々の項目にアクセスするためのメンバー関数を提供します。また、 CDaoRelationInfo オブジェクトを含むデータベース オブジェクトの GetRelationInfo メンバー関数を呼び出すことによって、それらすべてに一度にアクセスすることもできます。

CDaoDatabase::GetRelationInfo メンバー関数によって取得された情報は、CDaoRelationInfo構造体に格納されます。 CDaoRelationInfo では、デバッグ ビルドで Dump メンバー関数も定義します。 Dump を使用して、CDaoRelationInfo オブジェクトの内容をダンプすることができます。

要件

ヘッダー: afxdao.h

関連項目

CDaoRelationFieldInfo 構造体