Application.CurrentDb 方法 (Access)

CurrentDb 方法返回类型为 Database 的对象变量,该变量代表当前在 Microsoft Access 窗口中打开的数据库。

语法

表达式CurrentDb

expression:表示 Application 对象的变量。

返回值

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 方法实际并不在 Microsoft Access 窗口中打开第二个数据库,而只是返回一个表示第二个数据库的 Database 变量。 下面的示例返回一个指向当前数据库的指针和一个指向 Contacts.mdb 数据库的指针。

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

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。