如何判断其他人是否在使用数据库?

时间:2015-11-05 18:36:10

标签: access-vba

我怀疑这是一个很容易的,我不知道答案。 我有一个Access 2010数据库,由许多不同的人使用,通常是同时使用。 我希望,使用VBA,找出我是否正在使用数据库的人。 关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:0)

此示例sub使用特定于提供程序的架构,将列出用户。您需要传递有效的连接,例如:

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是获取用户列表而不锁定数据库的唯一方法。此技术仍然存在通常使用LOGIN_NAME管理员打开Access的缺点。我一直不得不将COMPUTER_NAME与登录表匹配以获取Windows用户名 - 这是Access的缺点。