CDaoTableDefInfo 構造体
更新 : 2007 年 11 月
CDaoTableDefInfo 構造体は、データ アクセス オブジェクト (DAO: Data Access Objects) 用に定義されているテーブル定義についての情報を保持します。
struct CDaoTableDefInfo
{
CString m_strName; // Primary
BOOL m_bUpdatable; // Primary
long m_lAttributes; // Primary
COleDateTime m_dateCreated; // Secondary
COleDateTime m_dateLastUpdated; // Secondary
CString m_strSrcTableName; // Secondary
CString m_strConnect; // Secondary
CString m_strValidationRule; // All
CString m_strValidationText; // All
long m_lRecordCount; // All
};
パラメータ
m_strName
テーブル定義オブジェクトの一意名。テーブル定義オブジェクトの GetName メンバ関数を呼び出して、直接このプロパティの値を取得します。詳細については、DAO ヘルプの「Name Property」を参照してください。m_bUpdatable
テーブルが変更できるかどうかを示します。テーブルが更新できるかどうかを簡単に調べるには、そのテーブルの CDaoTableDef オブジェクトを開き、そのオブジェクトの CanUpdate メンバ関数を呼び出します。CanUpdate は、新しく作成したテーブル定義オブジェクトに対しては常に 0 以外 (TRUE) を返し、アタッチされたテーブル定義オブジェクトに対しては 0 (FALSE) を返します。新しいテーブル定義オブジェクトは、現在のユーザーが書き込み権限を持っているデータベースにのみ追加できます。テーブルに更新できないフィールドしかない場合は、CanUpdate は 0 を返します。1 つ以上のフィールドが更新できるときは、CanUpdate は 0 以外を返します。編集できるのは更新できるフィールドのみです。詳細については、DAO ヘルプの「Updatable Property」を参照してください。m_lAttributes
テーブル定義オブジェクトが表すテーブルの特性を示します。テーブル定義の現在の属性を取得するには、GetAttributes メンバ関数を呼び出します。返される値は次の long 定数の組み合わせです (ビットごとの OR (|) 演算子を使用します)。dbAttachExclusive Microsoft Jet データベース エンジンを使用するデータベースでは、テーブルがアタッチ テーブルであり、排他的に使用するために開かれていることを示します。
dbAttachSavePWD Microsoft Jet データベース エンジンを使用するデータベースでは、アタッチ テーブルのユーザー ID とパスワードが接続情報と共に保存されていることを示します。
dbSystemObject テーブルが、Microsoft Jet データベース エンジンに用意されているシステム テーブルであることを示します。システム テーブルは読み取り専用です。
dbHiddenObject テーブルが、Microsoft Jet データベース エンジンに用意されている隠しテーブルであることを示します。隠しテーブルは一時的に使用するために作成されます。システム テーブルは読み取り専用です。
dbAttachedTable テーブルが、Paradox データベースのような非 ODBC データベースからのアタッチ テーブルであることを示します。
dbAttachedODBC テーブルが、Microsoft SQL Server のようなオープン データベース コネクティビティ (ODBC: Open Database Connectivity) データベースからのアタッチ テーブルであることを示します。
m_dateCreated
テーブルの作成日付と時刻。テーブルの作成日付を直接取得するには、テーブルに関連付けられた CDaoTableDef オブジェクトの GetDateCreated メンバ関数を呼び出します。詳細については、解説を参照してください。関連情報については、DAO ヘルプの「DateCreated, LastUpdated Properties」を参照してください。m_dateLastUpdated
テーブルのデザインの最終更新日付と時刻。テーブルの最終更新日付を直接取得するには、テーブルに関連付けられた CDaoTableDef オブジェクトの GetDateLastUpdated メンバ関数を呼び出します。詳細については、解説を参照してください。関連情報については、DAO ヘルプの「DateCreated, LastUpdated Properties」を参照してください。m_strSrcTableName
アタッチ テーブルがあれば、そのテーブル名を示します。ソース テーブル名を直接取得するには、テーブルに関連付けられた CDaoTableDef オブジェクトの GetSourceTableName メンバ関数を呼び出します。m_strConnect
オープン データベースのソースについての情報を提供します。CDaoTableDef オブジェクトの GetConnect メンバ関数を呼び出して、このプロパティを調べることができます。接続文字列の詳細については、「GetConnect」を参照してください。m_strValidationRule
テーブル定義フィールドのデータを変更したり、テーブルに追加したりするときに、そのデータが有効かどうかを調べるための値。入力規則は、Microsoft Jet データベース エンジンを使用するデータベースだけでサポートされます。入力規則を直接取得するには、テーブルに関連付けられた CDaoTableDef オブジェクトの GetValidationRule メンバ関数を呼び出します。関連情報については、DAO ヘルプの「ValidationRule Property」を参照してください。m_strValidationText
ValidationRule プロパティで指定された入力規則が満たされない場合に、アプリケーションが表示するメッセージ テキストを示す値。関連情報については、DAO ヘルプの「ValidationText Property」を参照してください。m_lRecordCount
テーブル定義オブジェクトでアクセスされたレコード数を返します。このプロパティの設定は読み取り専用です。レコード数を直接取得するには、CDaoTableDef オブジェクトの GetRecordCount メンバ関数を呼び出します。レコード数の詳細については、GetRecordCount を参照してください。テーブルにあるレコード数が多いと、レコード数を取得するのに時間がかかる場合があります。
解説
テーブル定義は CDaoTableDef クラスのオブジェクトです。上の "プライマリ"、"セカンダリ"、および "すべて" は、CDaoDatabase クラスの GetTableDefInfo メンバ関数によってどの情報が返されるかを示しています。
CDaoDatabase::GetTableDefInfo メンバ関数により取得した情報は、CDaoTableDefInfo 構造体に格納されます。目的のテーブル定義オブジェクトが属している TableDefs コレクションを持つ CDaoDatabase オブジェクトに含まれる GetTableDefInfo メンバ関数を呼び出してください。デバッグ用のビルドでは、CDaoTableDefInfo は Dump メンバ関数も定義しています。Dump 関数を使って CDaoTableDefInfo オブジェクトの内容をダンプできます。
日付と時間の設定は、ベース テーブルが作成または最後に更新されたコンピュータから取得されます。マルチユーザー環境では、DateCreated プロパティと LastUpdated プロパティの設定が矛盾しないように、ユーザーは、日付と時刻の設定をファイル サーバーから直接取得するようにします。
必要条件
ヘッダー : afxdao.h
参照
参照
CDaoTableDef::GetDateLastUpdated
CDaoTableDef::GetSourceTableName
CDaoTableDef::GetValidationRule
CDaoTableDef::GetValidationText