レコードとプロバイダーが指定したフィールド
Record オブジェクトが開かれると、そのソースは、開いている Recordset の現在の行、絶対 URL、または開いている Connection オブジェクトと関連する相対 URL である可能性があります。
Recordset から Record を開いた場合、Record オブジェクトの Fields コレクションには、Recordset のすべてのフィールドに加えて、基になるプロバイダーから追加された任意のフィールドが含められます。
プロバイダーは、Record の補足特性として機能する追加のフィールドを挿入することがあります。 結果として、Record には、Recordset 全体や、Recordset の別の行から派生したいずれの Record にはない固有のフィールドが存在する場合があります。
たとえば、電子メール データ ソースから派生した Recordset のすべての行に、[差出人]、[宛先]、[件名] などの列が存在します。 その Recordset から派生した Record には同じフィールドが存在します。 ただし、Record には、[添付ファイル] や [Cc] (カーボン コピー) などの、その Record によって表される特定のメッセージに固有の他のフィールドもあります。
Record オブジェクトと Recordset の現在の行には同じフィールドがありますが、Record と Recordset オブジェクトのメソッドとプロパティが異なるため、内容は異なります。
Record と Recordset によって共通に保持されているフィールドは、どちらのオブジェクトでも変更できます。 ただし、基になるプロバイダーはフィールドの null への設定をサポートしている場合がありますが、Record オブジェクトではフィールドを削除できません。
Record を開いた後、プログラムでフィールドを追加できます。 追加したフィールドを削除することもできますが、元の Recordset からフィールドを削除することはできません。
URL から直接 Record オブジェクトを開くこともできます。 この場合、Record に追加されるフィールドは、基になるプロバイダーによって異なります。 現在、ほとんどのプロバイダーは、Record で表されるエンティティを記述するフィールドのセットを追加します。 エンティティが単純なファイルなどのバイト ストリームで構成されている場合、Stream オブジェクトは通常 Record から開くことができます。
ドキュメント ソース プロバイダーの特殊フィールド
"ドキュメント ソース プロバイダー" と呼ばれる特別なクラスのプロバイダーは、フォルダーとドキュメントを管理します。 Record オブジェクトがドキュメントを表すか、Recordset オブジェクトがドキュメントのフォルダーを表すとき、ドキュメント ソース プロバイダーは、実際のドキュメント自体ではなく、ドキュメントの特性を説明する固有のフィールド セットをそれらのオブジェクトに設定します。 通常、1 つのフィールドには、ドキュメントを表す Stream への参照が含まれます。
これらのフィールドはリソース Record または Recordset を構成し、サポートする特定のプロバイダーに対して「付録 A: プロバイダー」に一覧表示されています。
共通に使用されるフィールドのペアを取得するために、2 つの定数によって、リソース Record または Recordset の Fields コレクションにインデックスが付けられます。 Field オブジェクトの Value プロパティによって、目的のコンテンツが返されます。
adDefaultStream 定数でアクセスされるフィールドには、Record または Recordset オブジェクトに関連付けられた既定のストリームが含まれています。 プロバイダーは、既定のストリームをオブジェクトに割り当てます。
adRecordURL 定数でアクセスされるフィールドには、ドキュメントを識別する絶対 URL が含まれています。
ドキュメント ソース プロバイダーは、Record と Field オブジェクトの Properties コレクションをサポートしていません。 このようなオブジェクトに対して Properties コレクションのコンテンツは null です。
ドキュメント ソース プロバイダーは、それがドキュメント ソース プロバイダーであるかどうかを識別するために、Datasource Type などのプロバイダー固有のプロパティを追加することがあります。 プロバイダーの種類を確認する方法の詳細については、プロバイダーのドキュメントを参照してください。
リソース Recordset の列
"リソース Recordset" は、次の列で構成されます。
列名 | Type | 説明 |
---|---|---|
RESOURCE_PARSENAME | AdVarWChar | 読み取り専用です。 リソースの URL を示します。 |
RESOURCE_PARENTNAME | AdVarWChar | 読み取り専用です。 親レコードの絶対 URL を示します。 |
RESOURCE_ABSOLUTEPARSENAME | AdVarWChar | 読み取り専用です。 リソースの絶対 URL (PARENTNAME と PARSENAME の連結) を示します。 |
RESOURCE_ISHIDDEN | AdBoolean | リソースが非表示の場合は True。 行セットを作成するコマンドで、RESOURCE_ISHIDDEN が True の行を明示的に選択しない限り、行は返されません。 |
RESOURCE_ISREADONLY | AdBoolean | リソースが読み取り専用の場合は True。 DBBINDFLAG_WRITE でこのリソースを開こうとすると、DB_E_READONLY で失敗します。 このプロパティは、リソースが読み取りのために開かれているときでも編集できます。 |
RESOURCE_CONTENTTYPE | AdVarWChar | 可能性が高いドキュメントの用途 (弁護士の概要など) を示します。 これは、ドキュメントの作成に使用された Office テンプレートに対応する場合があります。 |
RESOURCE_CONTENTCLASS | AdVarWChar | "text/html " などの形式を示す、ドキュメントの MIME の種類を示します。 |
RESOURCE_CONTENTLANGUAGE | AdVarWChar | コンテンツが格納される言語を示します。 |
RESOURCE_CREATIONTIME | adFileTime | 読み取り専用です。 リソースが作成された時刻を含む FILETIME 構造体を示します。 時刻は、協定世界時 (UTC) 形式で報告されます。 |
RESOURCE_LASTACCESSTIME | AdFileTime | 読み取り専用です。 リソースが最後にアクセスされた時刻を含む FILETIME 構造体を示します。 時刻は UTC 形式です。 プロバイダーがこの時刻メンバーをサポートしていない場合、FILETIME メンバーは 0 になります。 |
RESOURCE_LASTWRITETIME | AdFileTime | 読み取り専用です。 リソースが最後に書き込まれた時刻を含む FILETIME 構造体を示します。 時刻は UTC 形式です。 プロバイダーがこの時刻メンバーをサポートしていない場合、FILETIME メンバーは 0 になります。 |
RESOURCE_STREAMSIZE | asUnsignedBigInt | 読み取り専用です。 リソースの既定のストリームのサイズをバイト単位で示します。 |
RESOURCE_ISCOLLECTION | AdBoolean | 読み取り専用です。 リソースがディレクトリなどのコレクションである場合は True。 リソースが単純なファイルの場合は False。 |
RESOURCE_ISSTRUCTUREDDOCUMENT | AdBoolean | リソースが構造化ドキュメントの場合は True。 リソースが構造化ドキュメントでない場合は False。 コレクションまたは単純なファイルです。 |
DEFAULT_DOCUMENT | AdVarWChar | 読み取り専用です。 このリソースに、フォルダーまたは構造化ドキュメントの既定の単純なドキュメントへの URL が含まれていることを示します。 既定のストリームがリソースから要求されるときに使用されます。 このプロパティは、単純なファイルの場合は空白です。 |
CHAPTERED_CHILDREN | AdChapter | 読み取り専用です。 省略可能。 リソースの子を含む行セットのチャプターを示します。 ("OLE DB Provider for Internet Publishing" では、この列は使用されません。) |
RESOURCE_DISPLAYNAME | AdVarWChar | 読み取り専用です。 リソースの表示名を示します。 |
RESOURCE_ISROOT | AdBoolean | 読み取り専用です。 リソースがコレクションまたは構造化ドキュメントのルートである場合は True。 |