I am attempting to use code to tell me who is logged on to a shared database. It is set up so that the result is sent to a list box. The problem is it is only returning one user even if there are 5 users logged on. The code I am using is below. Can anyone see why it is not listing all users?
Thanks.
Option Compare Database
Option Explicit
Public Const JET_SCHEMA_USERROSTER = _
"{947bb102-5d43-11d1-bdbf-00c04fb92675}"
-----------------------------------------------------------
Public Function ReturnUsers() As String
Dim Conn As ADODB.Connection
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
Set Conn = New ADODB.Connection
On Error GoTo HandleErr
'Open connection to the database
Conn.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=G:\Database\My Database.mdb"
'Open schema recordset to grab user metadata
Set rst = Conn.OpenSchema(adSchemaProviderSpecific, , _
JET_SCHEMA_USERROSTER)
'return current users
rst.MoveFirst
Do Until rst.EOF
ReturnUsers = rst(0) & ";" & ReturnUsers
rst.MoveNext
Loop
ExitHere:
rst.close
Set rst = Nothing
Conn.close
Set Conn = Nothing
Exit Function
HandleErr:
MsgBox "Error " & Err.Number & ": " & _
Err.Description
Resume ExitHere
End Function
Thanks.
Option Compare Database
Option Explicit
Public Const JET_SCHEMA_USERROSTER = _
"{947bb102-5d43-11d1-bdbf-00c04fb92675}"
-----------------------------------------------------------
Public Function ReturnUsers() As String
Dim Conn As ADODB.Connection
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
Set Conn = New ADODB.Connection
On Error GoTo HandleErr
'Open connection to the database
Conn.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=G:\Database\My Database.mdb"
'Open schema recordset to grab user metadata
Set rst = Conn.OpenSchema(adSchemaProviderSpecific, , _
JET_SCHEMA_USERROSTER)
'return current users
rst.MoveFirst
Do Until rst.EOF
ReturnUsers = rst(0) & ";" & ReturnUsers
rst.MoveNext
Loop
ExitHere:
rst.close
Set rst = Nothing
Conn.close
Set Conn = Nothing
Exit Function
HandleErr:
MsgBox "Error " & Err.Number & ": " & _
Err.Description
Resume ExitHere
End Function