Thank you sooo much Xaf294 for responding. It never dawned on me to go to the source (Microsoft) and do a search. I did the search here at Tek Tips. (Dbl DUH!)
I am getting a subscript out of range on the following code. I can't figure it out it was working fine yesterday.
Thanx, Trudye
Public Function GetUsers()
ReDim lpszUserBuffer(1) As String
Dim intLooper As Integer
Dim Cusers As Long
Dim strMsgBox As String
Dim StrDbPath As String
'StrDbPath = CurrentDb.Name
StrDbPath = "S:\Inventory\Recovery\RecoveryMDB\Recovery.mdb"
On Error GoTo Err_GetUsers
' Check to see if a database path was passed to the function. If the argument was not used,
' assume that we're to investigate the .ldb of the current database.
' Set Cusers to the number of computers currently connected to the database. Insert computer
'information into the lpszUserBuffer array.
' Arguments of LdbUser_Get Users:
' 1 = All users who have logged in since the LDB file was created
' 2 = Only users who are currently logged in
' 4 = Only users who are causing the database file to be corrupted
' 8 = Just return the count of users
' Print possible errors returned by the function.
Select Case Cusers
Case -1
strMsgBox = "Can't open the LDB file"
Case -2
strMsgBox = "No user connected"
Case -3
strMsgBox = "Can't Create an Array"
Case -4
strMsgBox = "Can't redimension array"
Case -5
strMsgBox = "Invalid argument passed"
Case -6
strMsgBox = "Memory allocation error"
Case -7
strMsgBox = "Bad index"
Case -8
strMsgBox = "Out of memory"
Case -9
strMsgBox = "Invalid Argument"
Case -10
strMsgBox = "LDB is suspected as corrupted"
Case -11
strMsgBox = "Invalid argument"
Case -12
strMsgBox = "Unable to read MDB file"
Case -13
strMsgBox = "Can't open the MDB file"
Case -14
strMsgBox = "Can't find the LDB file"
End Select
If Not IsEmpty(strMsgBox) And strMsgBox <> "" Then
MsgBox strMsgBox, vbCritical, "Error"
Exit Function
End If
If Cusers > 0 Then
' Print computer names to Debug window.
For intLooper = 0 To Cusers - 1
Debug.Print "User"; intLooper + 1; ":"; _
lpszUserBuffer(intLooper)
'Shell ("Net Send Trudye Hello!")
'Shell ("net Send " & lpszUserBuffer(intLooper) & " ONLY TESTING: Please Log off of the Recovery database")
Shell ("net Send " & lpszUserBuffer(intLooper) & " ONLY TESTING ")
Next
End If
Exit_GetUsers:
Exit Function
Err_GetUsers:
MsgBox Err.Description
Resume Exit_GetUsers
Yes, there will be at least one User the person running the Function will be in the database.
I knoe tha this kind of error usually indicates that I am addressing an issue that is not there. But the error is occuring on the first/(0) entry. All the others are fine.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.