This can be quite complex. There are lots of ways to achieve this - some of the more elegant ones involve using a hidden form to store the current users Name and Access Level.
You can then check this hidden forms data when you open a form and set your forms controls accordingly.
If you get very clever with it you could store the access level, controls, Control status and form names in a table and use that to set form level control locking.
It's pretty involved but ultimately much easier to manage, than hard coding each form.