Notifications
Clear all

VBA Controle de Acesso

6 Posts
3 Usuários
0 Reactions
1,986 Visualizações
(@samuel9696)
Posts: 28
Eminent Member
Topic starter
 

Boa Noite,
Sou novo no Fórum não sei se está é a maneira para perguntar, Preciso de ajuda em relação ao VBA pois tenho alguns relatórios que tem conexão direta com meu Banco de Dados que é de produção e não espelho preciso limitar o aceso dos meus colaboradores para que eles não tenham permissão em atualizar o relatório pois se a metade da minha equipe resolver ficar atualizando o Excel poderão travar meu banco de dados e preciso deixar aceso apenas para alguns vi em uma outra empresa esse tipo de aceso não gostaria de esconder o Botão da VBA a solução é deixar apenas que sabe mexer para atualizar alguém pode me explicar como funciona o código de permissão por Login de Rede, Sql, Maquina....

E-mail : [email protected]
Tel: +55 11 9 63005227 - Claro

Se a resposta foi útil, clique na mãozinha do lado da ferramenta Citar.

 
Postado : 23/11/2015 4:56 pm
(@suggos)
Posts: 111
Estimable Member
 

Boa noite. Para fazer a permissão de acordo com o usuário da rede, utilize o texto em vermelho antes do seu código que abre o banco de dados. Isso fará com que apenas os usuários de login1 e login2 possam executar a macro. Você pode acrescentar quantos usuários quiser, com a palavra "and" entre eles. Substitua login1 e login2 pelo seu nome de usuário e do outro usuário autorizado.

Dim usuario As String
usuario = CreateObject("WScript.Network").UserName
If usuario <> "login1" And usuario <> "login2" Then
Exit Sub
End If

Não se esqueça de marcar o tópico como resolvido se a resposta for satisfatória.

 
Postado : 23/11/2015 7:16 pm
carlosrgs
(@carlosrgs)
Posts: 631
Prominent Member
 

Eu tenho esse material aqui que já utilizei.

http://www.macoratti.net/12/12/vba_lgn1.htm

_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.

 
Postado : 24/11/2015 5:13 am
(@samuel9696)
Posts: 28
Eminent Member
Topic starter
 

Sugoos,
Bom Dia!

Preciso de ajuda no conceito em relação a programação abaixo, Pode me ajudar?

Dim usuario As String - O que Significa?

usuario = CreateObject("WScript.Network").UserName - O que Significa?

If usuario <> "login1" And usuario <> "login2" Then - O que Significa?

Exit Sub - O que Significa?

End If -O que Significa?

Carlos,
Bom Dia!

Estarei lendo seu artigo e ja posto minhas duvidas se surgir alguma;

Se a resposta foi útil, clique na mãozinha do lado da ferramenta Citar.

 
Postado : 24/11/2015 6:05 am
(@samuel9696)
Posts: 28
Eminent Member
Topic starter
 

Sugoos,
Bom Dia!

Preciso de ajuda no conceito em relação a programação abaixo, Pode me ajudar?

Dim usuario As String - O que Significa?

usuario = CreateObject("WScript.Network").UserName - O que Significa?

If usuario <> "login1" And usuario <> "login2" Then - O que Significa?

Exit Sub - O que Significa?

End If -O que Significa?

Carlos,
Bom Dia!

Estarei lendo seu artigo e ja posto minhas duvidas se surgir alguma;

Se a resposta foi útil, clique na mãozinha do lado da ferramenta Citar.

 
Postado : 24/11/2015 7:28 am
(@suggos)
Posts: 111
Estimable Member
 

'Declarar a variável usuario como string, ou seja, texto. É uma boa prática em programação sempre declarar as variáveis que utilizar.
Dim usuario As String

'Atribuir à variável usuario o nome do usuário de rede, o que você digita juntamente com a senha ao ligar o computador.
usuario = CreateObject("WScript.Network").UserName

'Verifica se a variável usuário é diferente de login1 e diferente de login2. login1 e login2 devem ser substituídos pelos nomes de usuário
'das duas pessoas autorizadas a atualizar a planilha usando o banco de dados. Se quiser acrescentar mais pessoas repita a parte vermelha
'após login2. If significa se e then significa então. Logo, o(s) comando(s) seguintes só são executados se a condição ou, como neste caso,
'as condições forem verdadeiras.

If usuario <> "login1" And usuario <> "login2" Then

'Sai da rotina sem executar o restante do código, pois se o usuario não é igual a login1 nem igual a login2, então a pessoa não possui autorização.
'para atualizar a planilha. Por isso, o restante do código não é executado.

Exit Sub

'É o fim do If. Este comando serve para delimitar a parte do código que só é executada se a condição entre o If e o Then for verdadeira.
'Logo, o comando Exit Sub é o único comando que só será executado se as referidas condições forem verdadeiras.

End If

Não se esqueça de marcar o tópico como resolvido se a resposta for satisfatória.

 
Postado : 24/11/2015 7:01 pm