Jump to content
Fórum Script Brasil
  • 0

Niveis De Acesso


BRUCCE
 Share

Question

Bom dia Pessoal!

Tenho um BC com controle de nivel de acesso, vou precisar abrir essa banco p/ que alguns funcionários realizem consultas, como posso fazer para que usuário XX tenha acesso ao FORM YY, mas que não consiga realizar ALTERAÇÕES, INCLUSÕES OU EXCLUSÕES?

Obrigado

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Explique melhor como está desenvolvendo seu bd, você está usando o um formulário personalizado de login com uma tabela onde você cadastra os usuários ou você está utilizando a segurança do Access?

Se for personalizado dá uma olhada no seguinte tópico:

http://scriptbrasil.com.br/forum/index.php...75&hl=nivel

Link to comment
Share on other sites

  • 0

MrMajl,

O meu sistema de login é baseado num formulario, onde eu cadastro os usuário, no entanto, foi você quem me ajudou a "ajeita-lo".

Estou querendo implantar um formula, para que "tal" usuário consiga consultar as informoções e que outros possam alterar...

Obrigado,

Jefferson

Explique melhor como está desenvolvendo seu bd, você está usando o um formulário personalizado de login com uma tabela onde você cadastra os usuários ou você está utilizando a segurança do Access?

Se for personalizado dá uma olhada no seguinte tópico:

http://scriptbrasil.com.br/forum/index.php...75&hl=nivel

Link to comment
Share on other sites

  • 0

Fera implemente outras validações (comparações) para cada nivel de usuário que você tem, isso só quem poderá definir é você mesmo, a ideia é a mesma do exemplo, você pode criar formulários onde não seja permitido alterar e outro onde é permitido e abrir um ou outro conforme o usuário!

Link to comment
Share on other sites

  • 0

não tem como fazer um codigo baseado em if ?

exemplo..

vamos supor que o cara defina niveis de acesso de 1 a 5 onde 1 é usuario e 5 é administrador

ai então o cara se loga na aplicacao.. isso já registra o nivel atual do usuario logado.

ai então ao clicar num botao de menu pra abrir um form.. rola um if

exemplo:

If Dlookup("[NIVEL]", "USUARIOS", "[uSER] ='" & Forms!LOGIN![uSER] & "'") = 1 then

msgbox "Voce não tem acesso a este item!"

ElseIf Dlookup("[NIVEL]", "USUARIOS", "[uSER] ='" & Forms!LOGIN![uSER] & "'") = 2 then

docmd.openform "formulario tal", , , ,acFormReadOnly

ElseIf Dlookup("[NIVEL]", "USUARIOS", "[uSER] ='" & Forms!LOGIN![uSER] & "'") = 3 then

docmd.openform "formulario tal", , , ,acFormAdd

ElseIf Dlookup("[NIVEL]", "USUARIOS", "[uSER] ='" & Forms!LOGIN![uSER] & "'") = 5 then

docmd.openform "formulario tal", , , ,acFormEdit

End If

alias eu to usando assim no meu BD e funciona.

Edited by Humm
Link to comment
Share on other sites

  • 0

Bom dia, Humm!

Desculpe-me a ignorância, mais sou novato, não entendi...

Os nivel de acesso são, ADM e Usuários

No meu BD, uso a seguinte formula:

Else

If formSelecionado = "SEUFORM" And Me.xxx <> "Administrador" Then

MsgBox "Desculpe, você não tem acesso a esse procedimento!", vbOKOnly + vbInformation

Else

frameMain.SourceObject = formSelecionado

labTitulo.Caption = rotuloForm

Ex. Quero que no FORM "XX" os Usuários consigam consultar as Informações, mas que não consiga Adicionar, Excluir ou ALterar.

Se você preferir, posso enviar-lhe uma cópia do meu BD..

Abçs!

Valeu

Link to comment
Share on other sites

  • 0

amigo, vou explicar como fiz aqui.

criei uma tabela USUARIOS onde cadastro USER, SENHA e NIVEL

então ai eu cadastro:

USER, SENHA, NIVEL

HUMM, 123, 5

OUTRO, 321, 1

nisso to considerando os numeros de nivel como:

1 - Sem permissao de nada

2 - Somente Leitura

3 - Somente Adiciona Registros

5 - Administrador

então ao iniciar a aplicacao, primeiro vem um form de LOGIN

nele o usuario se identifica e se loga no sistema.. ao se logar esse form fica automaticamente oculto e se abre o form do menu principal onde tem os botoes que abrem os diversos outros formularios.

e em cada botao, no procedimento "ao clicar" acontece isso que postei la em cima.

(aqui o dlookup vai pesquisar qual o nivel do usuario logado e o If vai comparar com o nivel 1. caso o user seja nivel 1, então virá a msgbox negando acesso.)

If Dlookup("[NIVEL]", "USUARIOS", "[uSER] ='" & Forms!LOGIN![uSER] & "'") = 1 then

msgbox "Voce não tem acesso a este item!"

(caso o user seja nivel 2, o acFormReadOnly vai abrir o form somente pra leitura.)

ElseIf Dlookup("[NIVEL]", "USUARIOS", "[uSER] ='" & Forms!LOGIN![uSER] & "'") = 2 then

docmd.openform "formulario tal", , , ,acFormReadOnly

(caso o user seja nivel 3, o acFormAdd vai abrir o form somente pra adicionar, mas negado pra editar.)

ElseIf Dlookup("[NIVEL]", "USUARIOS", "[uSER] ='" & Forms!LOGIN![uSER] & "'") = 3 then

docmd.openform "formulario tal", , , ,acFormAdd

(caso o user seja nivel 5, o acFormEdit vai abrir o liberado.)

ElseIf Dlookup("[NIVEL]", "USUARIOS", "[uSER] ='" & Forms!LOGIN![uSER] & "'") = 5 then

docmd.openform "formulario tal", , , ,acFormEdit

entendeu?

Link to comment
Share on other sites

  • 0

Ola pessoal..

De todos os métodos de niveis de acesso pra serem executados no access, esse realmente é o melhor e o funcionou corretamente.. Parabens Humm.

Estou implementando esse seu metodo.. mas estou com apenas dois probleminhas...

1 - Como ocultar o form de login apos autenticar o usuario e a senha? Pois estou tendo q deixar ele ativo pra que ele possa buscar o usuario logado, não pode fecha-lo.

2 - O código de Dlookup em um botao com o evento ao clicar funciona corretamente, mas Eu possuo menus para acesso aos forms.. e qd eu clico no Menu cadastro - Formulario tal.. ele não respeita nenhuma regra. já tentei colocar em todos os eventos do form.. mas não funcionou em nenhum.. você tem alguma sugestao?

Aguardo.

Link to comment
Share on other sites

  • 0

coloquei no evento após atualizar do campo da senha dentro de uma condição IF

essa condição valida o usuario.. se ele passar na senha, entra esse comando.

DoCmd.RunCommand acCmdWindowHide

sobre a questao dos menus, eu não estou usando na minha aplicação. apenas uso os botoes do dos menus formularios que fiz.

porem eu tenho certeza que tb há como condicionar, dentro de cada IF de nivel de acesso, os menus do access.. vou dar uma olhada nisso

depois vou postar somente a parte de login que criei pra posteridade.

Edited by Humm
Link to comment
Share on other sites

  • 0

Amigos, sobre ocultar o form do login, coloque no ultimo evento, exemplo no botão acessar este comando que vai ocultar o form

Me.Visible = False

Sobre configurar niveis de acesso no menu, deixei um exemplo abaixo sobre definir acesso por usuario no menu.

http://www.4shared.com/file/34481865/1044c...rified=ce885920

Video aula de como fazer menus e configura acesso, este peguei na comunidade Access Brasil no Orkut

http://www.4shared.com/file/37163507/d4d46...rified=ce885920

At.

Everaldo

Link to comment
Share on other sites

  • 0

Simples, use o mesmo critério, coloque no evento ao abrir do form.

Mas claro em vez de se referir a um menu, faça que pesquise na tabela, se tiver acesso permite acessar o botão, caso contrario bloqueie o botão.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...