Professor
Muitas pessoas entraram em contato comigo, solicitando um exemplo de controle personalizado de acesso de usuários. Resolvi, então, apresentar um exemplo projetado para interagir com a ribbon e mostrar para você, leitor, que é possível montar aplicativos de ótima qualidade no Access 2007/2010. Porém, para não deixar qualquer brecha na segurança é necessário que você assista a vídeo-aula, sobre o aplicativo que desenvolvi , chamado de OPEN , e o acrescente aos seus projetos.
Para quem está começando a usar o Access 2007/2010 , é preciso saber que a Microsoft retirou destas versões o único mecanismo profissional de proteção de dados nativo do Access (MDW). Por isso, temos que criar o nosso próprio mecanismo. E essa é uma das razões para que eu lhe ofereça este controle personalizado de usuários.
O projeto possui três tabelas, que se relacionam conforme você vê na figura abaixo:
Na vídeo-aula, eu explico a função de cada uma dessas tabelas.
Apenas três formulários são usados: o de login, o de cadastro de usuários e o do controle de permissões.
Login
Cadastro de usuários
Controle de permissões
Os códigos utilizados são poucos e bem simples. O principal deles é o que controla as propriedades de adição, exclusão e edição dos formulários.
Public Function fncPermissões(NomeForm As Form)
Dim filtro As String
filtro = "formulario = '" & NomeForm.Name & "'" filtro = "Idfuncao = " & Nz(DLookup("idFuncao", "tblFunções", filtro), 0) & _
" AND idUsuario =" & login.id
If Nz(DLookup("bloqueada", "tblpermissõesUsuários", filtro), True) = True _
Or login.id = 0 Then MsgBox "Acesso bloqueado...", vbInformation, "Aviso" DoCmd.Close acForm, NomeForm.Name Exit Function
End If
'Aqui são alteradas as propriedades do formulário
NomeForm.AllowEdits = Nz(DLookup("atualizar", "tblpermissõesUsuários", filtro), "false")
NomeForm.AllowDeletions =