次の方法で共有


Application.CurrentDb メソッド (Access)

CurrentDb メソッドは、現在 Microsoft Access ウィンドウで開いているデータベースを表す Database 型のオブジェクト変数を返します。

構文

CurrentDb

expressionApplication オブジェクトを 表す変数。

戻り値

Database

注釈

注:

Microsoft Access では、 CurrentDb メソッドは、Microsoft Access データベース内の Microsoft Office 12.0 Access Connectivity Engine オブジェクト ライブラリへの非表示参照を確立します。

Visual Basic からデータベースとそのデータの構造を操作するには、データ アクセス オブジェクト (DAO) を使用する必要があります。 CurrentDb メソッドを使うと、データベース名がわからなくても、Visual Basic コードからカレント データベースにアクセスすることができます。 現在のデータベースを指す変数を作成したら、DAO 階層内の他のオブジェクトやコレクションにアクセスして操作することもできます。

CurrentDb メソッドを使用して、現在のデータベースを参照する複数のオブジェクト変数を作成します。 次の例では、変数 dbsAdbsB 両方が現在のデータベースを参照しています。

Dim dbsA As Database, dbsB As Database 
Set dbsA = CurrentDb 
Set dbsB = CurrentDb

注:

以前のバージョンの Microsoft Access では、構文 DBEngine.Workspaces(0).Databases(0)を使用しているか、現在 DBEngine(0)(0)のデータベースへのポインターを返している可能性があります。 Microsoft Access 2000 以降では、代わりに CurrentDb メソッドを使用する必要があります。 CurrentDb メソッドは現在のデータベースの別のインスタンスを作成しますがDBEngine(0)(0)、構文は現在のデータベースのオープン コピーを参照します。 CurrentDb メソッドを使うと、カレント データベースを参照する Database 型の複数の変数を作成することができます。 Microsoft Access では構文は DBEngine(0)(0)引き続きサポートされていますが、マルチユーザー データベースで競合が発生する可能性を回避するために、コードに対してこの変更を行うことを検討する必要があります。

現在のデータベースが Microsoft Access ウィンドウで開いていると同時に別のデータベースを操作する必要がある場合は、Workspace オブジェクトの OpenDatabase メソッドを使用します。 OpenDatabase メソッドは、実際にはデータベースを開かずに、データベースを参照するオブジェクト変数だけを返します。 次の例では、カレント データベースと Contacts.mdb という名前のデータベースを参照する変数が返されます。

Dim dbsCurrent As Database, dbsContacts As Database 
Set dbsCurrent = CurrentDb 
Set dbsContacts = DBEngine.Workspaces(0).OpenDatabase("Contacts.mdb")

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。