also if this hides the button where do i need to put the code in order for it to work? the form it is on is always open.
If the form is always open on each user's workstation, and you have more than a couple of users, if the form is bound to a record, you are risking record lock issues.
Be that as it may, you probably need to do this in the Form_OnLoad event which gets run when the form opens on the workstation.
In the form's class module, OnLoad event, create a couple of variables. Store the name of the user as obtained from CurUser function (look this one up in the Help files). Determine whether the user does - or doesn't - have the right. Store a TRUE/FALSE value in a Boolean variable.
Now, still in the OnLoad routine, you will have a list of things that look like this:
Button1.Enabled = Boolean variable
Button2.Enabled = Boolean variable
Button3.Enabled = Boolean variable
etc.
After that, you can end the event routine.
If you have implemented workgroup security properly, your users get their permissions from a group (of which they are a member). So one thing you could do is realize that each form is connected to a collection of Users and each user includes a collection of associated Groups. You could write a separate function to find the user's group and decide Yes or No based on group membership inside the function. Just a thought, there are other ways to do this. I would do it this way because it is technically correct and less likely to be discombobulated by future upgrades to Access itself. But that's just me.