Ms access 如何检查DBEngine.workspace(0)中类的定义

Ms access 如何检查DBEngine.workspace(0)中类的定义,ms-access,vba,ms-access-2007,definition,Ms Access,Vba,Ms Access 2007,Definition,我们有一个内部系统,它是用MS Access 2007开发的。它包含一个登录表单,该表单使用默认工作区的外部表(DBEngine.workspaces(0)) 我们发现使用了哪些类和成员,但无法确定在DBEngine.Workspaces(0)下定义了哪个数据库,因为“定义”按钮是灰色的 DBEngine.Workspace(0)是一个DAO.Workspace对象 DBEngine.Workspaces(0)。数据库是在该工作区内打开的数据库集合Debug.Print DBEngine.Wor

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

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

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

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

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

Debug.Print DBEngine.workspace(0).数据库(0).名称
在评论中,您还提到了
UserName
。这是工作区的属性,而不是数据库。您可以检查该属性:

Debug.Print DBEngine.workspace(0).用户名

但是,除非您使用的是Access用户级安全性,
DBEngine.workspace(0).UserName将是默认用户“admin”。因此,在这种情况下,
UserName
不是很有用

这有用吗
DBEngine.workspace(0).数据库(0).Name
@HansUp抱歉,可能不清楚。。我的意思是我想知道如何检查DBEngine.Workspaces(0)和DBEngine.Workspaces(0)使用了哪个数据库。我们发现DBEngine.Workspaces(0)>>用户>>用户名,但我们正在努力找出类“User”来自何处。我不明白
DBEngine.Workspaces(0).Databases(0).Name将显示在该工作区中打开的第一个数据库文件的完整路径。如果这不是你想要的,请澄清你想要的。你真的试过这样的东西吗
msgboxdbengine.Workspaces(0).数据库(0).Name
@HansUp我明白你的意思了。我试着弹出一个消息框,结果成功了。非常感谢你的帮助。谢谢你的解释。我可以对刀有更多的了解。实际上,我们使用的是用户级安全性,我可以通过消息框获得数据库文件的完整路径。