如何检查 DBEngine.Workspaces(0) 中 类 的定义

How to check the definitions of Classes in DBEngine.Workspaces(0)

我们有一个使用 MS Access 2007 开发的内部系统。它包含一个登录表单,该表单使用使用默认工作区的外部表 (DBEngine.Workspaces(0))。

我们发现使用了哪些 class 和成员,但无法确定在 DBEngine.Workspaces(0) 下定义了哪个数据库,因为定义按钮是灰色的。

DBEngine.Workspaces(0) 是一个 DAO.Workspace 对象。

DBEngine.Workspaces(0).Databases 是在该工作区内打开的数据库集合。 Debug.Print DBEngine.Workspaces(0).Databases.Count 会告诉您该工作区内打开了多少个数据库。

第一个数据库是 DBEngine.Workspaces(0).Databases(0)。您可以检查其 .Name 属性 以获取该数据库文件的完整路径:

Debug.Print DBEngine.Workspaces(0).Databases(0).Name

在评论中,您还提到了 UserName。那是工作区的 属性,不是数据库。您可以检查 属性:

Debug.Print DBEngine.Workspaces(0).UserName

但是,除非您使用 Access 用户级安全,否则 DBEngine.Workspaces(0).UserName 将是默认用户,"admin"。所以,在那种情况下,UserName 不是很有用。