bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Controle de accesso de usuários personalizado

Vídeo - SysControle - Controle de Usuarios

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 10x no Cartão de Crédito. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 


 

O aplicativo Maestro, oferecido aqui no site, faz um grande sucesso, principalmente por causa do  sistema de Controle de Usuarios que interage com uma ribbon personalizada.    Este Controle de Usuários tem um certo grau de dificuldade para ser implementado, principalmente para os menos experientes.   

Devido ao grande número de pedidos de ajuda que recebo por e-mail, resolvi atualizar este sistema e separá-lo por completo do Maestro e assim facilitar ao máximo a sua implementação.  Além da separação, resolvi montar uma vídeo-aula de 38 minutos, ensinando o passo a passo de como incorporá-lo aos seus projetos.  Dei o nome a este novo Controle de Usuarios de sysControle.  Junto com o sysControle, você irá baixar também o aplicativo exemplo, chamado de Cadastros, que serviu de base para a vídeo-aula e que será muito útil para os seus estudos.

A aparência e os objetos contidos do novo Controle de Usuarios não diferem muito em relação ao do Maestro, no entanto uma nova programação foi utilizado, visando facilitar a implementação com as ribbons e a ampliar o controle sobre novos objetos, como botões, campos, tabelas e consultas.

O projeto possui três tabelas, que se relacionam conforme você vê na figura abaixo:

Relacionamentos

 

São usados apenas quatro formulários: o de Login, o de Cadastro de Usuários, o de Controle de Permissões e o de Funções.

Login

Formulário de login

 

Cadastro de Usuários

Formulário cadastro de usuários

 

Controle de Permissões

Formulário de permissões

 

Cadastro de Funções

Formulário de permissões

 

A vídeo-aula demonstra como configurar e utilizar cada um desses formulários.

A função de bloqueio e restrições para os seus formulários

Todos os formulários do seu projeto que estiverem sujeitos a alguma restrição, deverão ter em cada evento "Ao Abrir", a seguinte linha de comando:

Private Sub Form_Open(Cancel As Integer)
Cancel = Not fncPermissõesfrm(Me)
End Sub

A função de bloqueio para os seus relatórios

Todos os relatórios do seu projeto que estiverem sujeitos a algum bloqueio, deverão ter em cada evento "Ao Abrir", a seguinte linha de comando:

Private Sub Report_Open(Cancel As Integer)
Cancel = fncObjetoBloqueado(Me.Name, prBloquear, False)
End Sub

A função de bloqueio e restrições para botões e campos

Você deverá adicionar a função de bloqueio para todos os botões e campos que estiverem sujeitos  a alguma restrição.   As linhas de comando deverão ser inseridas no evento "Ao Abrir" do formulário, conforme exemplo abaixo:

Private Sub Form_Open(Cancel As Integer)
Cancel = Not fncPermissõesfrm(Me, False)

Me!NomeObjeto.visible = fncObjetoBloqueado("NomeObjeto", prVisivelOutro, False)
Me!NomeObjeto.enabled = fncObjetoBloqueado("NomeObjeto", prHabilitadoOutro, False)
End Sub

A vídeo-aula mostra passo a passo, a implementação dessas funções e o seu devido funcionamento, de acordo com as permissões estabelecidas.

Desabilitando e habilitando as ribbons

O projeto utiliza a seguinte linha para desabilitar todas as ribbons do Access, inclusive as personalizadas.

...
DoCmd.ShowToolbar "ribbon", acToolbarNo
...

Para ativar as ribbons do Access, inclusive as personalizadas, a seguinte linha é utilizada:

...
DoCmd.ShowToolbar "ribbon", acToolbarYes
...

Estes comandos estão no formulário frmLogin.

Descompactar na pasta c:\SysControle

Crie a pasta sysControle na sua unidade C:\ e depois baixe o arquivo sysControle.zip fornecido aqui no artigo para a pasta que você criou.  Esse local especifico se faz necessário, devido ao uso de tabelas vinculadas pelo arquivo exemplo utilizado na vídeo-aula.

Segurança total  utilizando o OPEN

Após a implementação deste Controle de Usuários, sugiro que realize um reforço na segurança, com o aplicativo OPEN, disponível aqui pelo site.  Ele oferece uma proteção espetacular aos seus projetos.  Vale à pena você assistir ao vídeo para entender como ele  funciona e como é simples a sua configuração.  Você não precisará adicionar linhas de código aos seus projetos.   Clique AQUI e bom estudo!

Kit de aprendizagem para montar ribbons

O site oferece um kit completo para você aprender a montar ribbons.  Este kit inclui o aplicativo MontaRibbons. Veja na imagem abaixo:

Assitente ribbons para o Access 2007 e Access 2010

Além do aplicativo, você tem a sua disposição 6 artigos e 6 vídeos-aulas.  Nas duas primeiras vídeos-aulas você já será capaz de montar e implementar as ribbons em seus projetos.  A terceira vídeo-aula é fundamental para que você adquira o conhecimento necessário e assim possa implementar, na íntegra, o sistema de Controle de Usuários oferecido aqui.  Para obter mais detalhes sobre este kit, clique AQUI.

Quanto custa o sysControle?

O sysControle é gratuito para os assinantes do site ou para quem já tem o kit MontaRibbons.   O sysControle não é vendido, separadamente.  Clique AQUI e veja os diversos planos de assinatura que oferecemos.

Dowload do sysControle (baixar e descompactar na pasta c:\sysControle)

Vídeo-aula

 

Sucesso!


 

 


13 comentários

Gino M Migotto   25/11/2019 06:44:14

O problema esta acontecendo quando ativo as linhas
visible = Nz(fncBloquear(idFun, login.id, prVisivel), True) e
enabled = Nz(fncBloquear(idFun, login.id, prHabilitado), True)

a Ribbon foi gerada através do Monta Ribbons V7

Att,
Gino

Gino   25/11/2019 06:21:53

Bom dia Avelino,

Indiferente ao usuário, ao abrir, a Ribbon tem vários botões Bloqueados, mesmo não estando nas permissões. Mesmo para o Administrados.

Att,

Gino

Fernando   15/08/2019 15:19:03

Excelente prof. Avelino,
No meu projeto os Usuários serão adicionados a Grupos e estes é que terão as permissões.
Como eu poderia adaptar seu projeto pra dar permissões aos Grupos?

Andre   11/07/2019 05:30:37

Estou desenvolvendo um aplicativo no access para empresa onde eu trabalho, mas estou com um problema para aplicar o controle de acesso à usuários. Vi o seu video segui o passo a passo que vc explica no video, coloquei a linha de código no formulário no evento ao abrir. Funciona a tela de login com os usuários e senha que cadastro, mas as permissões não está funcionando o que é selecionado. Fiz e refiz esse procedimento de instalação, não estou conseguindo. Alguém poderia me ajudar neste caso?

Tenho uma duvida no sysControle tem o módulo mod_ConfigRibbon coloquei as linhas de código e as ativei em cima do select Case.

Neste select Case Control id
Case "xxx" , aqui tem que colocar algum código?

Arilson   09/07/2019 15:33:55

Bela Actualização e iniciativa de separar o controle de Usuários Mestre Avelino parabéns!

Valdir Pereira da   08/07/2019 12:42:05

Boa tarde Avelino,

Não consegui idendificar no código onde inserir essa instrução. Fiz alguns testes mas não consegui que funcionasse. Poderia me ajudar?

Outra coisa: quando o usuário mudar a senha dele, a tabela mudará o status para não??

Avelino Sampaio   08/07/2019 05:28:59

Valdir

Creio que a solução passa pela criação de um campo do tipo SIM/NÃO, na tabela de usuários (tblusuários). O Admin setando o campo para SIM, obriga o usuário a ter que alterar a senha. No formulário de Login, logo após autenticação do usuário, cria uma condição IF para verificar o status se está marcado como SIM.

If dlookup("status","tblUsuários","idusuario = " & login.id) =true then
‘ abrir o formulário de troca de senha do usuário
End if

Sucesso!

Valdir Pereira da   05/07/2019 11:26:22

Avelino! Implantei o SysControle no meu projeto! Inclusive comprei e te parabenizo pelo montaribbons, meu projeto ficou demais. Parabéns!

Gostaria de saber de você agora o seguinte: quando crio um usuário para o meu sistema, coloco a senh 1234. Queria que quando a pessoa fizesse o login houvesse uma verificação se a senha dele ainda está 1234 e se estiver, abrir o formulário de alteração de senha, obrigando-o a mudar a senha naquele momento e se ele clicar em cancelar no form alterar senha, o aplicativo fecha da mesma forma que acontece no formLogin.

Luís Filipe Antunes   27/06/2019 07:14:27

Avelino
Utilizei esta linha num segundo form
Cancel = Not fncPermissõesfrm(Me)
Acontece que os campos ficam bloqueados para todos os usuários incluindo o administrador.


Avelino Sampaio   27/05/2019 03:42:39

Roberto,

se você conseguiu assistir o vídeo na íntegra, teve a oportunidade de observar que eu demonstrei os objetos (formulários e relatórios) sendo bloqueados pelo Painel de Navegação e pelos botões do formulário frmClientes. Se você então fiz uso de um formulário de navegação, basta utilizar a função de bloqueio para habilitar/desabitar os botões.

Sucesso!

Roberto Alves   26/05/2019 15:47:13

Amigo o sys controle como ele funcionaria no projeto sem as ribbons

Avelino Sampaio   25/05/2019 14:37:25

Valdir,

o sysControle armazena os dados do usuário, na variável "login" (login.id e login.usuario), da mesma forma que é feito no Maestro. No evento "ao clicar" do botão "OK" do formulário de frmLogin, Acrescente a variável TempVars na seguinte posição:

...
'repassa a identificação do usuário para a variável login
login.id = .Column(0) 'IdUsuário
login.Usuario = .Column(1) 'Nome do usuário
TempVars!Usuario = login.Usuario
...

Pronto, agora vc pode utilizar a avriável TempVars em qualquer lugar do seu projeto. Exemplo, carregado o valor para um determinado campo de um formulário:

me!NomeDoCampo = Tempvars!Usuario




Valdir Silva   25/05/2019 12:18:26

Top Avelino! Já comecei a adaptar aqui no meu projeto.
Preciso da sua ajuda pra mais uma coisanha, seguinte:

Para auditoria de lançamentos, no meu banco tem um campo em todas as tabelas usuario e gostaria de uma função que retorne o usuário logado no aplicativo e preenchesse esse campo no formulário quando o usuário fosse cadastrar algo, dessa forma saberíamos que foi o usuáro que efetuou a operação.

No controle de usuários do access, o antigo, chamando a função UsuarioAtual() ele retorna o usuário, mas no caso do nosso aqui, usando essa função ele retorna Admin.

Será que pode nos ajudar com isso? Acredito que muitos dos seus fãs gostariam tbm dessa função.

Vlw


Envie seu comentário: