次の方法で共有


CDaoRelationInfo 構造体

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

関連項目

CDaoRelationFieldInfo 構造体