次の方法で共有


CDaoDatabase::GetRelationInfo

更新 : 2007 年 11 月

データベースの Relations コレクション内の指定されたリレーションシップに関する情報を取得します。

void GetRelationInfo( 
   int nIndex, 
   CDaoRelationInfo& relinfo, 
   DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO  
);
void GetRelationInfo( 
   LPCTSTR lpszName, 
   CDaoRelationInfo& relinfo, 
   DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO  
);

パラメータ

  • nIndex
    インデックスで検索する場合の、データベースの Relations コレクションでのリレーションシップ オブジェクトのインデックス。

  • relinfo
    要求された情報を返す CDaoRelationInfo オブジェクトへの参照。

  • dwInfoOptions
    リレーションシップに関して取得する情報を指定するオプション。指定できるオプションと、各オプションに応じて関数が返す情報を次に示します。

    • AFX_DAO_PRIMARY_INFO   (既定) 名前、テーブル、外部キー テーブル。

    • AFX_DAO_SECONDARY_INFO   属性、フィールド情報。

    フィールド情報は、リレーションシップに関係する主テーブルのフィールドを持つ CDaoRelationFieldInfo オブジェクトです。

  • lpszName
    名前で検索する場合の、リレーションシップ オブジェクト名を持つ文字列。

解説

インデックス、または名前のどちらでもアクセスできるように、2 つの形式の関数が用意されています。relinfo に返される情報の詳細については、CDaoRelationInfo 構造体を参照してください。この構造体は、上記の dwInfoOptions で説明した情報に対応するメンバを保持します。あるレベルの情報を要求すると、そのレベル以下の情報も返されます。

1xt80ccs.alert_note(ja-jp,VS.90).gifメモ :

連鎖操作 (dbRelationUpdateCascades または dbRelationDeleteCascades) をアクティブにするために、リレーションシップ オブジェクトの属性を設定する場合、関係付けられた主キー テーブルが変更されると、Microsoft Jet データベース エンジンは自動的に 1 つ以上の他のテーブルのレコードを更新、または削除します。たとえば、顧客テーブルと発注テーブルの間に、連鎖削除のリレーションシップを確立しているとします。顧客テーブルからレコードを削除すると、発注テーブルのその顧客に関連するレコードも削除されます。また、発注テーブルとほかのテーブル間に連鎖削除のリレーションシップが設定されている場合、顧客テーブルからレコードが削除されると、これらのテーブルのレコードも削除されます。

必要条件

ヘッダー : afxdao.h

参照

参照

CDaoDatabase クラス

階層図

CDaoDatabase::GetRelationCount

その他の技術情報

CDaoDatabase のメンバ