Error: Argument Not Optional

Jan 13, 2015
Reaction score
I have a form with multiple users. I'm trying to set it so there is a pop up if a record is open that's locked by another user for editing. I know you can set the Editing functions in the menu but that will only show you a record is locked after you go to save all your changes. Here's what i have:

Function IsLocked(rs As Recordset, UserName As String, MachineName As String)

' Accepts: a recordset and two string variables
' Purpose: determines if the current record in the recordset is locked,
' and if so who has it locked.
' Returns: True if current record is locked (and sets UserName
' and MachineName to the user with the lock). False if the
' record isn't locked.
' From: Building Applications Chapter 12

Dim ErrorString As String
Dim MachineNameStart As Integer

IsLocked = False
On Error GoTo IsLockedError

rs.Edit 'Try to edit the current record in the recordset.
Exit Function 'No error, so return False.

If Err = 3260 Then 'Record is locked -- parse error string.
ErrorString = Error$
UserName = Mid$(ErrorString, 44, InStr(44, ErrorString, "'") - 44)
If UserName = "" Then UserName = "(unknown)"
MachineNameStart = InStr(43, ErrorString, " on machine ") + 13
MachineName = Mid$(ErrorString, MachineNameStart, Len(ErrorString) - MachineNameStart - 1)
If MachineName = "" Then MachineName = "(unknown)"
IsLocked = True
End If
Exit Function
End Function

Trying to run the function "On Current" as below:

Private Sub Form_Current()
Call Module1.IsLocked
End Sub

When I try to run, I get an error that says Argument not optional.

I'm not familiar with this nor am I very familiar with running fuctions through subs. Any help is greatly appreciated!
Last edited:

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question