CurrentDb 方法

此頁沒有內容條目
內容

expandtri全部顯示

CurrentDb 方法返回一個類型為 Database 的對象變量,該變量表示當前在 Microsoft Access 窗口中打開的數(shù)據(jù)庫。

expression.CurrentDb

expression     必需。返回“應用于”列表中的一個對象的表達式。

說明

注釋  在 Microsoft Access 中, CurrentDb 方法可建立對 Microsoft Access 數(shù)據(jù)庫 (.mdb) 中“Microsoft DAO 3.6 對象庫”的隱含引用。

為了從 Visual Basic 中對數(shù)據(jù)庫的結構及數(shù)據(jù)進行操作,必須使用數(shù)據(jù)訪問對象 (DAO)。CurrentDb 方法提供了一種不必知道數(shù)據(jù)庫的名稱即可從 Visual Basic 代碼中訪問當前數(shù)據(jù)庫的方法。有了指向當前數(shù)據(jù)庫的變量之后,還可以訪問并操作 DAO 分層結構中其他的對象和集合。

使用 CurrentDb 方法可以創(chuàng)建多個引用當前數(shù)據(jù)庫的變量。在下面的示例中,變量 dbsAdbsB 都引用當前數(shù)據(jù)庫:

Dim dbsA As Database, dbsB As Database

Set dbsA = CurrentDb

Set dbsB = CurrentDb

注釋  在 Microsoft Access 先前的版本中,可以使用語法 DBEngine.Workspaces(0).Databases(0)DBEngine(0)(0) 來返回一個指向當前數(shù)據(jù)庫的指針。而在 Microsoft Access 2000 中,則應使用替代的 CurrentDb 方法。CurrentDb 方法創(chuàng)建當前數(shù)據(jù)庫的另一個實例,而 DBEngine(0)(0) 語法僅引用當前數(shù)據(jù)庫打開的副本。使用 CurrentDb 方法可以創(chuàng)建引用當前數(shù)據(jù)庫的多個 Database 類型變量。Microsoft Access 仍然支持 DBEngine(0)(0) 語法,但用戶應考慮對代碼進行此項修改,以避免在多用戶數(shù)據(jù)庫中可能出現(xiàn)的沖突。

如果需要在 Microsoft Access 窗口中打開了當前數(shù)據(jù)庫的同時還使用其他數(shù)據(jù)庫,請使用 Workspace 對象的 OpenDatabase 方法。OpenDatabase 方法實際并不在 Microsoft Access 窗口中打開第二個數(shù)據(jù)庫,而只是返回一個表示第二個數(shù)據(jù)庫的 Database 變量。下面的示例返回一個指向當前數(shù)據(jù)庫的指針和一個指向 Contacts.mdb 數(shù)據(jù)庫的指針。

Dim dbsCurrent As Database, dbsContacts As Database

Set dbsCurrent = CurrentDb

Set dbsContacts = DBEngine.Workspaces(0).OpenDatabase("Contacts.mdb")