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 への参照は、クラス CDaoDatabase
の GetRelationInfo メンバー関数によって情報がどのように返されるかを示しています。
Relation オブジェクトは MFC クラスでは表されません。 代わりに、 CDaoDatabase
クラスの MFC オブジェクトの基になる DAO オブジェクトは、リレーション オブジェクトのコレクションを保持します。 CDaoDatabase
は、関係情報の個々の項目にアクセスするためのメンバー関数を提供します。また、 CDaoRelationInfo
オブジェクトを含むデータベース オブジェクトの GetRelationInfo
メンバー関数を呼び出すことによって、それらすべてに一度にアクセスすることもできます。
CDaoDatabase::GetRelationInfo メンバー関数によって取得された情報は、CDaoRelationInfo
構造体に格納されます。 CDaoRelationInfo
では、デバッグ ビルドで Dump
メンバー関数も定義します。 Dump
を使用して、CDaoRelationInfo
オブジェクトの内容をダンプすることができます。
要件
ヘッダー: afxdao.h