0
我怀疑这是一个容易的问题,我不知道答案。 我有一个Access 2010数据库,由许多不同的人使用,通常在同一时间。 我想用VBA来查明是否有其他人在使用数据库。 关于如何做到这一点的任何想法?如何判断其他人是否正在使用数据库?
我怀疑这是一个容易的问题,我不知道答案。 我有一个Access 2010数据库,由许多不同的人使用,通常在同一时间。 我想用VBA来查明是否有其他人在使用数据库。 关于如何做到这一点的任何想法?如何判断其他人是否正在使用数据库?
此示例子部分使用提供程序特定的模式将列出用户。你需要通过一个有效的连接,例如:
ADOUserList Currentproject.Connection
Public Sub ADOUserList(oConn As ADODB.Connection)
Dim rs As ADODB.Recordset
Set rs = oConn.OpenSchema(adSchemaProviderSpecific, , _
"{947bb102-5d43-11d1-bdbf-00c04fb92675}")
Debug.Print rs.GetString
rs.Close
End Sub
返回的字段有:
COMPUTER_NAME
LOGIN_NAME
CONNECTED
SUSPECT_STATE
请注意使用CurrentProject.Connection
是让用户列表不锁定数据库的唯一途径。这种技术仍然有缺陷,通常Access会以LOGIN_NAME
管理员身份打开。我一直必须将COMPUTER_NAME与登录表匹配以获取Windows用户名 - 这是Access的缺点。
感谢您的快速回复。我在set rs行上得到了一个运行时错误。 “对象或提供者无法执行请求的操作”有任何想法吗? – Taffy
请参阅此问题的链接:http://stackoverflow.com/questions/13477778/find-users-logged-into-access-database-using-powershell –