sexta-feira, novembro 24, 2017
Breaking News
Home » Office » MS Access » Bloqueando a tecla Shift no MS Access 2002-2003-2007-2010

Bloqueando a tecla Shift no MS Access 2002-2003-2007-2010

[Atualizado 12/01/2016]

Corrigido layout do código

Bom dia leitores do PI.

Quem nunca se preocupou com o Shift de seus banco de dados?
Deixar o arquivo aberto e vulnerável poder trazer grandes problemas para sua empresa e para você!
Há algumas maneiras de se bloquear o Shift do Access, neste tutorial mostrarei a que julgo mais atrativa.

 

  1. Crie um módulo com um nome a sua escolha, neste exemplo, usarei o nome mdl_libera.
  2. Dentro deste módulo, vamos colocar um script que libere e bloqueie as teclas digitadas ao iniciar o form. Coloque este script no módulo:

Option Compare Database

‘Esta é a função para liberar o Shift
Sub LiberaShift()
Const DB_Boolean As Long = 1
ChangeProperty “AllowBypassKey”, DB_Boolean, True
End Sub

‘Esta para Travar
Sub TravaShift()
Const DB_Boolean As Long = 1
ChangeProperty “AllowBypassKey”, DB_Boolean, False
End Sub

Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270

Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True

Change_Bye:
Exit Function

Change_Err:
If Err = conPropNotFoundError Then ‘ Propriedade não encontrada.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
‘ Erro desconhecido.
ChangeProperty = False
Resume Change_Bye
End If
End Function

Até aqui, criamos a função. Continuando:

  1. Crie um formulário no Modo Estrutura, com Dois Botões, um para travar e outro para Liberar.
  2. Nomeie os botões a seu gosto, no nosso exemplo, colocarei os nomes Libera e Bloqueia.
  3. Chame a função no código dos botões

Botão de Bloquear, evento click:

Private Sub Bloqueia_Click()
TravaShift
End Sub

Botão de Liberar, evento click:

Private Sub Libera_Click()
LiberaShift
End Sub

  1. Crie um atalho para chamar este form que você criou, lembrando que o lugar deve ser escondido, pois toda a segurança se encontra nesse componente.
  2. Toda vez que você clique nos botões para bloquear ou liberar o shift, não esqueça de reiniciar o Access, para que as alterações entrem em vigor.

Espero ter ajudado, em caso de dúvida, poste nos comentários!

 

Fico por aqui, até mais.

Sobre Diego Duarte

Diego Duarte Atua como coordenador de NOC, toca um violãozinho nas horas vagas e tenta eternamente entender o que o fez escolher TI

Veja também!

VBA dica: Limite o número de vezes que um arquivo XLS e XLSX pode ser aberto

Suponha que você queira enviar uma versão demo de um arquivo para um usuário examinar, …

4 comentários

  1. Moacir

    Sim, muito bom !

  2. dico

    pessoal, boa tarde!
    no meu bd não funcionou. alguém pode me dar alguma dica do que estou fazendo errado?

  1. Pingback: URL

  2. Pingback: Giuseppe Zanotti London Croc Zip Sneakers

Este artigo lhe foi útil? comente e ajude outros acrescentando seu ponto de vista!