適用先: Access 2013、Office 2013
Container オブジェクトは、同じような種類の Document オブジェクトを 1 つにグループ化します。
注釈
各 Database オブジェクトには、組み込みの Container オブジェクトで構成される 1 つの Containers コレクションがあります。 アプリケーションでは、独自のドキュメントの種類とそれに対応するコンテナーを定義できますが (Microsoft Access データベース エンジンのデータベースのみ)、これらのオブジェクトが DAO でサポートされているとは限りません。
これらの Container オブジェクトには、Microsoft Access データベース エンジンで定義されているものもあれば、他のアプリケーションで定義されているものもあります。 次の表では、Microsoft Access データベース エンジンで定義されている各 Container オブジェクトの名前と、そこに含まれる情報の種類を示します。
Container の名前 |
含まれる情報の内容 |
|---|---|
Databases |
保存されたデータベース |
テーブル |
保存されたテーブルおよびクエリ |
Relations |
保存されたリレーションシップ |
注:
[!メモ] 上記の表の Container オブジェクトと、同じ名前のコレクションを混同しないでください。 Databases の Container オブジェクトは、保存されたすべてのデータベース オブジェクトを参照しますが、 Databases コレクションは、特定のワークスペースで開いているデータベース オブジェクトのみを参照します。
各 Container オブジェクトには、 Container オブジェクトで指定された組み込みのオブジェクトのインスタンスを記述する Document オブジェクトを含む Documents コレクションがあります。 Container オブジェクトは、通常、 Document オブジェクトに含まれる情報への仲介リンクとして使用します。 また、 Containers コレクションを使用して、任意の種類のすべての Document オブジェクトにセキュリティを設定することもできます。
既存の Container オブジェクトを使用すると、以下の操作を実行できます。
Name プロパティを使用して、 Container オブジェクトのあらかじめ定義された名前を取得します。
Owner プロパティを使用して、 Container オブジェクトの所有者を設定または取得します。 Owner プロパティを設定するには、 Container オブジェクトに対する権限が必要であり、プロパティを既存の User オブジェクトまたは Group オブジェクトの名前に設定する必要があります。
Permissions プロパティおよび UserName プロパティを使用して、 Container オブジェクトに対するアクセス許可を設定し、これらのアクセス許可設定が、 Container オブジェクトの Documents コレクション内に作成されるすべての Document オブジェクトに継承されます。
Container オブジェクトは組み込みのオブジェクトであるため、 Container オブジェクトを新規作成したり、既存のオブジェクトを削除することはできません
コレクション内の Container オブジェクトを、コレクションで付けられたインデックスまたは Name プロパティの設定値で参照するには、次のいずれかの構文を使います。
Containers(0)
Containers("name")
コンテナー![name]
例
次の使用例は、Northwind データベースの Containers コレクション、およびコレクションに含まれる各 Container オブジェクトの Properties コレクションを列挙します。
Sub ContainerObjectX()
Dim dbsNorthwind As Database
Dim ctrLoop As Container
Dim prpLoop As Property
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
With dbsNorthwind
' Enumerate Containers collection.
For Each ctrLoop In .Containers
Debug.Print "Properties of " & ctrLoop.Name _
& " container"
' Enumerate Properties collection of each
' Container object.
For Each prpLoop In ctrLoop.Properties
Debug.Print " " & prpLoop.Name _
& " = " prpLoop
Next prpLoop
Next ctrLoop
.Close
End With
End Sub