CodeDb 方法

expandtri全部显示

在代码模块中使用 CodeDb 方法可以确定 Database 对象(指代当前正在运行代码的数据库)的名称。使用 CodeDb 方法可以访问作为库数据库一部分的数据访问对象 (DAO)

expression.CodeDb

expression     必需。返回“应用于”列表中的一个对象的表达式。

说明

例如,可以在类库数据库的一个模块中使用 CodeDb 方法来创建引用类库数据库的 Database 对象,然后就可以打开基于类库数据库中表的记录集

Set database = CodeDb

CodeDb 方法返回一个 Database 对象,该对象的 Name 属性为从其中调用该方法的数据库的完整路径和名称。在需要处理类库数据库中的“数据访问对象”时,该方法尤其有用。

当调用类库数据库中的方法时,被调用方法的数据库仍为当前数据库,即使运行的代码是在类库数据库的一个模块中运行,情况也一样。为了引用类库数据库中的“数据访问对象”,需要知道代表类库数据库的 Database 对象的名称。

例如,假设在类库数据库中有一个列出错误消息的表。若要从代码中处理表中的数据,可以使用 CodeDb 方法来确定引用该表所在类库数据库的 Database 对象的名称。

如果从当前数据库中执行 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