Excel & AccessOfficeScriptsVBS & VBA

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

5K views
5 Comentários
4.7
(3)

Apresentação

Quem nunca se preocupou com a segurança de seu banco de dados, mesmo que pequeno? Neste artigo veremos a como bloquear a tecla shift ao se abrir um mdb com formulários inicializáveis

Há algumas maneiras de se bloquear o Shift do Access, neste tutorial mostrarei a que julgo mais atrativa.

 

bloquear a tecla shift ao se abrir um mdb

  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.

O que você achou disso?

Média da classificação 4.7 / 5. Número de votos: 3

Nenhum voto até agora! Seja o primeiro a avaliar este post.

Como você achou esse post útil...

Ajude o site a crescer compartilhando o conteúdo

Lamentamos que este post não tenha sido útil para você!

Vamos melhorar este post!

Diga-nos, como podemos melhorar este post?

Tags: access, shift, vb, vba

Artigos Relacionados

5 Comentários. Deixe novo

  • … [Trackback]…
    […] Read More here: purainfo.com.br/scripts/bloquando-a-tecla-shift-no-access/ […]…

    Responder
  • Sim, muito bom !

    Responder
  • Giuseppe Zanotti London Croc Zip Sneakers
    09/05/2014 3:01 AM

    Giuseppe Zanotti London Croc Zip Sneakers
    Bloqueando a tecla Shift no Access | Purainfo

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

    Responder
  • Junior Freitas
    21/08/2020 3:43 PM

    para que o código funcione corretamente na instrução allowbaypasskey, você deve remover as duas aspas que está na instrução e colocar duas aspas digitando no seu teclado. Obs: na linha do código que ficar vermelha, você deve remover a aspa simples .

    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

    Responder

Gostou do conteúdo? Deixe seu comentário

Secured By miniOrange