CodeDb 方法

此頁沒有內容條目
內容

expandtri全部顯示

在代碼模塊中使用 CodeDb 方法可以確定 Database 對象(指代當前正在運行代碼的數據庫)的名稱。使用 CodeDb 方法可以訪問作為庫數據庫一部分的數據訪問對象 (DAO)。

expression.CodeDb

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

說明

例如,可以在類庫數據庫的一個模塊中使用 CodeDb 方法來創(chuàng)建引用類庫數據庫的 Database 對象,然后就可以打開基于類庫數據庫中表的記錄集。

Set database = CodeDb

CodeDb 方法返回一個 Database 對象,該對象的 Name 屬性為從其中調用該方法的數據庫的完整路徑和名稱。在需要處理類庫數據庫中的“數據訪問對象”時,該方法尤其有用。

當調用類庫數據庫中的方法時,被調用方法的數據庫仍為當前數據庫,即使運行的代碼是在類庫數據庫的一個模塊中運行,情況也一樣。為了引用類庫數據庫中的“數據訪問對象”,需要知道代表類庫數據庫的 Database 對象的名稱。

例如,假設在類庫數據庫中有一個列出錯誤消息的表。若要從代碼中處理表中的數據,可以使用 CodeDb 方法來確定引用該表所在類庫數據庫的 Database 對象的名稱。

如果從當前數據庫中執(zhí)行 CodeDb 方法,該方法將返回當前數據庫的名稱,而且返回的值和 CurrentDb 方法返回的值相同。

示例

下面的示例使用 CodeDb 方法返回引用類庫數據庫的 Database 對象。類庫數據庫同時包含名為 Errors 的表和當前正在運行的代碼。在 CodeDb 方法確定該信息后,GetErrorString 函數打開基于 Error 表的表類型記錄集。然后從名為 ErrorData 的字段(該字段基于傳遞給函數的 Integer 值)中提取錯誤消息。

Function GetErrorString(ByVal intError As Integer) As String

    Dim dbs As Database, rst As RecordSet

    ' Variable refers to database where code is running.

    Set dbs = CodeDb

    ' Create table-type Recordset object.

    Set rst = dbs.OpenRecordSet("Errors", dbOpenTable)

    ' Set index to primary key (ErrorID field).

    rst.Index = "PrimaryKey"

    ' Find error number passed to GetErrorString function.

    rst.Seek "=", intError

    ' Return associated error message.

    GetErrorString = rst.Fields!ErrorData.Value

    rst.Close

End Function