全部显示

CurrentDb 方法

       

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

expression.CurrentDb

expression   必需。返回“Applies To”列表中的一个对象的表达式。

说明

注意   在 Microsoft Access 中, CurrentDb 方法可以建立对 Microsoft Access 数据库 (.mdb) 中“Microsoft DAO 3.6 对象库”的隐含引用。如果想在 Access 项目 (.adp) 中使用 CurrentDb 方法,则必须在 Microsoft“Visual Basic 编辑器”中设置对 DAO 3.6 对象库的永久引用。

为了从 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")