次の方法で共有


CDaoTableDef クラス

更新 : 2007 年 11 月

ベース テーブル、またはアタッチ テーブルの格納された定義を表現します。

class CDaoTableDef : public CObject

解説

各 DAO データベース オブジェクトは、保存されているすべての DAO テーブル定義オブジェクトを保持するコレクションを管理します。このコレクションは TableDefs と呼ばれます。

CDaoTableDef オブジェクトを使用してテーブル定義を操作します。たとえば、次の操作を実行できます。

  • データベースの、ローカル テーブル、アタッチ テーブル、または外部テーブルのフィールドやインデックスの構造を調べることができます。

  • アタッチ テーブルに対して SetConnect メンバ関数や SetSourceTableName メンバ関数を呼び出し、RefreshLink メンバ関数を使用してアタッチ テーブルへの接続を更新できます。

  • CanUpdate メンバ関数を呼び出して、テーブルのフィールド定義を編集できるかどうかを調べることができます。

  • GetValidationRule メンバ関数と SetValidationRuleメンバ関数、および GetValidationText メンバ関数と SetValidationText メンバ関数を使用して、入力条件を設定または取得できます。

  • Open メンバ関数を使用して、テーブル タイプ、ダイナセット タイプ、またはスナップショット タイプの CDaoRecordset オブジェクトを作成できます。

    5t434xff.alert_note(ja-jp,VS.90).gifメモ :

    DAO データベース クラスは、オープン データベース コネクティビティ (ODBC: Open Database Connectivity) に基づいている MFC データベース クラスとは性質が異ります。すべての DAO データベース クラス名には、"CDao" というプリフィックスが付きます。以前のように、DAO クラスを使用して、ODBC データ ソースにアクセスすることもできます。DAO クラスは Microsoft Jet データベース エンジン固有のクラスであるため、一般により充実した機能を提供できます。

既存のテーブルでの作業や新しいテーブルの作成にテーブル定義オブジェクトを使用するには

  1. どちらの場合でも、最初にテーブルを構築します。そのときに、テーブルが所属する CDaoDatabase オブジェクトへのポインタを指定して、CDaoTableDef オブジェクトを構築します。

  2. 次に、作業内容に応じて、次の操作を実行します。

    • 既存の保存されたテーブルを使用するには、保存されているテーブル名を指定して、テーブル定義オブジェクトの Open メンバ関数を呼び出します。

    • 新しいテーブルを作成するには、テーブル名を指定して、テーブル定義オブジェクトの Create メンバ関数を呼び出します。テーブルにフィールドやインデックスを追加するには、CreateFieldCreateIndex を呼び出します。

    • データベースの TableDefs コレクションにテーブルを追加してテーブルを保存するには、Append を呼び出します。Create でテーブル定義が開かれた状態になるため、Create を呼び出した後は Open を呼び出しません。

      5t434xff.alert_note(ja-jp,VS.90).gifヒント :

      保存されたテーブルを作成する最も簡単な方法は、Microsoft Access を使用してテーブルを作成し、データベースに保存する方法です。これで、MFC コードでそのテーブルを開いて使用できます。

開いた、または作成したテーブル定義オブジェクトを使用するには、パラメータ nOpenType に dbOpenTable を指定すると共に、テーブル定義名を指定して、CDaoRecordset オブジェクトを作成および開きます。

テーブル定義オブジェクトを使用して CDaoRecordset オブジェクトを作成するためには、通常、上記の方法でテーブル定義オブジェクトを作成または開いた後、レコードセット オブジェクトを構築し、CDaoRecordset::Open を呼び出すときに、テーブル定義オブジェクトへのポインタを渡します。テーブル定義オブジェクトは、開かれた状態で渡す必要があります。詳細については、CDaoRecordset クラスを参照してください。

テーブル定義オブジェクトを使用した後に、Close メンバ関数を呼び出し、テーブル定義オブジェクトを破棄します。

必要条件

ヘッダー : afxdao.h

参照

参照

CObject クラス

階層図

CDaoDatabase クラス

CDaoRecordset クラス

その他の技術情報

CDaoTableDef のメンバ