|
概要本指南介绍如何使用 Microsoft Visual Basic for Applications 来输出的用户是谁登录到数据库列表。
Microsoft 提供编程示例仅, 供图示不附带任何明示或暗示。 这包括, 但不仅限于, 适销性或用于特定目的适用性的暗示保证。 本文假定您已熟悉与正在演示编程语言以及工具来调试过程来创建和使用。 Microsoft 支持工程师可以帮助解释某个特定过程的功能。 但是, 它们将不修改这些示例以提供添加功能或构建过程以满足特定需要。
当您使用以下示例代码, 返回以下信息: • | 计算机名称。 | • | 登录名。 | • | 无论用户当前连接到数据库。 直到最后一个用户断开或直到插槽回收为新用户连接 (用户 ID 仍锁定数据库中)。 | • | 是否正常情况下中断用户连接。 | 此信息还被用于隔离问题数据库损坏与特定用户的活动相关联。
回到顶端
过程警告 : 如果您执行此示例, 中步骤您修改示例数据库 Northwind.mdb。 可能需要备份 Northwind.mdb 文件和数据库的副本上执行这些步骤。
要确定是谁登录到数据库, 请按照下列步骤: 1. | 打开示例数据库 Northwind.mdb,。
注意 对于 Access 2007年, 打开 Northwind2007 示例数据库, 关闭 Northwind2007 示例数据库, 并重新打开 Northwind2007 示例数据库。 | 2. | 在 视图 菜单上, 指向 数据库对象 , 并单击 模块 。
注意 对于 Access 2007年, 单击 宏 组在 数据库工具 选项卡中 VisualBasic 。 | 3. | 单击 新建 。
注意 入 2007年, Access 单击 VisualBasic 编辑器中 插入 菜单上 模块 。 | 4. | 键入或粘贴以下代码:
注意 : 本文示例代码使用 MicrosoftActiveX 数据对象。 为此代码才能正常运行, 必须引用 Microsoft ActiveX Data Objects 2.1 或更高版本库。 若要这样做, 单击 工具 菜单中 VisualBasic 编辑器, 上 引用 并进行确保选中 Microsoft ActiveX Data Objects 2.1 库 复选框。 |
- Sub ShowUserRosterMultipleUsers()
- Dim cn As New ADODB.Connection
- Dim rs As New ADODB.Recordset
- Dim i, j As Long
- Set cn = CurrentProject.Connection
- ' The user roster is exposed as a provider-specific schema rowset
- ' in the Jet 4.0 OLE DB provider. You have to use a GUID to
- ' reference the schema, as provider-specific schemas are not
- ' listed in ADO's type library for schema rowsets
- Set rs = cn.OpenSchema(adSchemaProviderSpecific, _
- , "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
- 'Output the list of all users in the current database.
- Debug.Print rs.Fields(0).Name, "", rs.Fields(1).Name, _
- "", rs.Fields(2).Name, rs.Fields(3).Name
- While Not rs.EOF
- Debug.Print rs.Fields(0), rs.Fields(1), _
- rs.Fields(2), rs.Fields(3)
- rs.MoveNext
- Wend
- End Sub
复制代码
5. | 保存作为模块 ShowUsers. | 6. | 按 CTRL+G 以打开立即窗口。 | 7. | 在即时窗口, 键入以下行, 然后按 ENTER 键:ShowUserRosterMultipleUsers | 原文: http://support.microsoft.com/kb/285822/ |
|