CDaoDatabase::CreateRelation

無効 CreateRelation (LPCTSTR lpszName、LPCTSTR lpszTable,LPCTSTR lpszForeignTable、長い lAttributes、LPCTSTR lpszField,LPCTSTR lpszForeignField );
throw (CDaoException, CMemoryException);

無効 CreateRelation (CDaoRelationInfoamp;relinfo(&A) );
throw (CDaoException, CMemoryException);

パラメーター

lpszName

Relation オブジェクトの一意の名前。名前は英字で始まる必要があり、最大 40 文字まで含めることができます。それは数字を含めることができ、アンダー スコア文字しますが、区切り記号やスペースを含めることはできません。

lpszTable

リレーションシップの主テーブルの名前。テーブルが存在しない場合は、MFCは CDaoException型の例外をスローします。

lpszForeignTable

関係の外部キー テーブルの名前。テーブルが存在しない場合は、MFCは CDaoException型の例外をスローします。

lAttributes

リレーションシップの種類に関する情報を含む long 値。他のものの間の参照整合性を適用するのにには、この値を使用できます。(組み合わせ理にかなっている限り)、次の値を結合するのに、ビットごとの OR 演算子 (|) を使用することができます。:

lpszField

( LpszTable: という)、主テーブルのフィールドの名前を含む null で終わる文字列へのポインター。

lpszForeignField

lpszForeignTableで) という名前の外部テーブル内のフィールドの名前を含む null で終わる文字列へのポインター。

relinfo

関係についての情報を含むCDaoRelationInfoオブジェクトへの参照を作成します。

解説

1 つまたは複数のフィールドで、プライマリ ・ データベースのテーブルに、外部テーブル (データベース内の別のテーブル) の 1 つ以上のフィールドとの関係を確立するためにこのメンバー関数を呼び出します。関係クエリまたは外部データベースからアタッチ テーブルを含むことはできません。

1 つのフィールドにそれぞれ 2 つのテーブルの関係を含む場合、関数の最初のバージョンを使用します。複数のフィールドの関係を含む場合は、2 番目のバージョンを使用します。関係フィールドの最大数は 14 です。

この操作は、基になる DAO リレーションシップ オブジェクトが作成されますが MFC のカプセル化の関連オブジェクトのクラスCDaoDatabase内で含まれているのでこれは MFC の実装の詳細です。MFC クラスの関係を提供しません。

連鎖操作をアクティブにするオブジェクトの属性との関係を設定すると、データベース エンジンに自動的に更新または関連主キー テーブルが変更されたときに 1 つまたは複数の他のテーブル内のレコードを削除します。

たとえば、Customers テーブルと Orders テーブルの間に連鎖削除のリレーションシップを確立します。[得意先] テーブルからレコードを削除すると、その顧客に関連する [受注] テーブルのレコードも削除されます。他のテーブルと [受注] テーブル間の連鎖削除のリレーションシップを確立する場合は、[得意先] テーブルからレコードを削除するとさらに、これらのテーブルのレコードを自動的に削除されます。

関連情報については、DAO ヘルプの「CreateRelation メソッド」のトピックを参照してください。

CDaoDatabase 概要|nbsp;クラス メンバー |階層図(&N)

参照特価;CDaoDatabase::DeleteRelation(&N)

Index