... Assinatura do site por 3 anos + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$182,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Modelo simples de Login com Ribbon

Usuário Ildo:

Boa tarde.

Estou montando um Banco de Dados, adorei o material disponibilizado, já aprendi muito mais do que eu imaginava com o Microsoft Access e com a montagem das Ribbons.

Uma dúvida que tenho, gostaria de saber se pode me ajudar...

Vi o funcionamento do Sistema Maestro, porém é bem detalhado e engloba muitas variáveis de permissões/acesso de usuários.  Gostaria de aplicar no meu Banco de Dados, através das ribbons, um acesso restrito com base em dois tipos de usuários (Admin e Usuário).  Através destes dois tipos de usuários, que cadastrarei nome e senha para cada um deles, gostaria que se o usuário for Admin, ele tenha acesso a todo sistema, e se ele for Usuário, tenha acesso restrito a alguns botões da minha Ribbon.  Possui algum modelo simples, que eu possa utilizar como base para montar essa restrição?  Pelo modelo apresentado engloba muita informação que não há necessidade e não tenho tanto conhecimento ainda para poder  utilizar.

Agradeço se puder me ajudar.

Suporte:

Ildo, segue um arquivo exemplo:

- abra o aplicativo;
- entre com o usuário Admin, senha 123 e clique em OK.  Verá a ribbon carregando completa, com os 4 botões;
- abra a tabela tblUsuarios e veja que, inseri nesta tabela, o nome dos botões da ribbon.  Assim, você terá como controlar quais botões da ribbon o usuário poderá ter acesso;
- abra o formulário frmLogin para trocar de usuário. Selecione Avelino e digite a senha 123. Clique em OK e a ribbon estará carregando com os botões 1 e 2 .

Foi o Sistema de Login mais simples que eu pude imaginar.

Observe no código do botão OK, que passo o nome do usuário e o seu número exclusivo (idUsuario) para a coleção TempVars.   A coleção TempVars permite que use os valores contidos nas variáveis, em qualquer local do projeto (macros, funções, Sub, propriedades e consultas).

Private Sub btOk_Click()
Dim Filtro$
If IsNull(Me!cboUsuario) And IsNull(Me!txtSenha) Then Exit Sub
filtro = "[IdUsuario] & [senha] = """ & Me!cboUsuario.Column(0) & Me!txtSenha & """"
If DCount("*", "tblUsuarios", filtro) = 0 Then
    MsgBox "Usuário ou senha incorretos...", vbInformation, "Aviso"
    Exit Sub
End If
'variável global idUsuario recebendo o valor de identificação exclusiva do usuário.
TempVars!idUsuario = Me!cboUsuario.Column(0)
'variável global usuario recendo o nome do usuário.
TempVars!Usuario = Me!cboUsuario.Column(1)
'reativando a ribbon
DoCmd.ShowToolbar "ribbon", acToolbarYes
'disparando as funções da ribbon
objRibbon.Invalidate
DoCmd.Close acDefault
End Sub

Observe no código abaixo que a variável TempVars!idUsuario está sendo utilizada na função que controla a visualização dos botões da Ribbon.

Public Sub fncGetVisible(control As IRibbonControl, ByRef visible)
Dim Filtro$
On Error GoTo fError
Select Case control.Id
    Case "bt1", "bt2", "bt3", "bt4", "sp1", "sp2"
        filtro = "idusuario = " & Nz(TempVars!idUsuario, 0)
        visible = Nz(DLookup(control.Id, "tblusuarios", filtro), 0)
    Case Else
        visible = True
End Select
...
End Sub

Usuário Ildo:

Muito Obrigado.

O exemplo será de grande valia para mim.

Download

 


 

 


2 comentário(s)

Gustavo Rocha   02/04/2018 12:37:17

Aveino, neste exemplo, como as Ribbons são construídas e carregadas, uma vez que não identifiquei um tabela auxiliar com a Ribbon em XML.

Obrigado

Avelino Sampaio   03/04/2018 00:54:39

Gustavo,

as ribbons são construídas, utilizando o meu aplicativo MontaRibbons. O MontaRibbons exporta as ribbons para a tabela de sistema chamada USysRibbons ou para uma tabela comum "tblRibbons". Neste caso a XML da ribbon se encontra na tabela USysRibbons. Para visualizar as tabelas do sistema, siga o seguinte caminho:

Botão do Office > Opções do Access > Banco de dados Atual > Clique no botão "Opções de navegação" > Marque "Mostrar objetos do sistema"

Sucesso!


Envie seu comentário: