If you want to do this on a record by record basis (and presumably you want users to be able to cycle through records on the form) then locking the form by any means won't do it. You'll have to examine the parameter (status?) in a suitable event and disable or lock the form controls. The form OnCurrent event should work as long as you haven't done anything design-wise to make it unsuitable.
The way I like to do this is add a control tag property value and cycle through the form controls looking for that value. If found, disable it according to the parameter value. Another way is to have a flag field (yes/no type) in the table to flag locked records. Using the same approach, you'd lock or disable the required controls based on the flag. This would only provide more flexibility, such that you would not have to have all records with a given status affected the same way. Using the following should disable every text or combo box regardless of any tag property, but it should provide a clue as to what I'm suggesting
Code:
Dim ctl As Control
If Me.Status = "approved" Then
For each ctl in Me.Controls
If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then
ctl.Disabled = True
End If
Next
End If
It's entirely from memory, which is not always serving well these days.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.