Olá,
Eu faço assim:
Tenho uma tabela de usuários com os nomes, senhas, etc. E outra com os acessos. Para os acessos eu uso os nomes dos menus e a informação se o usuário pode ou acessar aquele menu.
Assim, você deve inicialmente DESABILITAR todos os menus e depois HABILITAR apenas os que o usuãrio tem acesso. Se ria algo mais ou menos assim: No evento Load do Form:
Dim Controle as Control
For Each Controle In Controls
If TypeOf Controle Is Menu Then
If Controle.Caption <> "-" Then
Controle.Enabled = False
End If
End If
Next
Depois, abra a tabela de acessos e habilite apenas os menus que o usuãrio tem permissão:
Do While Not Acessos.Eof
Me.Controls(Acessos!NomeMenu).Enabled = Acessos!Permissao
Acesso.MoveNext
Loop
Bom, basicamente a idéia é essa. É claro que você pode incrementar muito mais, dando opções como permitir gravar, alterar, excluir, imprimir, etc. Mas verifique se isso é realmente necessário nesse projeto, pois em muitos projetos, não vale a pena inventar permissões muito elaboradas, pois os usuários podem se enrolar e podem não ter problemas de segurança onde o seu programa irá rodar. Verifique isso com cuidado.
um abraço,
Sandro.