É possível, sim. Basta desabilitar a tecla Shift.
Crie um form fShift com 2 botões: cmdAtiva e cmdDesativa;
Cole os códigos abaixo no módulo do form;
Obs: Este form deve ser acessível apena para o programador.
Para obter isso normalmente usa-se o controle de usuários, ou exigindo uma senha através de uma InputBox.
Option Compare Database
Option Explicit
Private Sub cmdAtiva_Click()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, True
MsgBox "Tecla Shift ATIVADA!"
DoCmd.Close acForm, "fShift"
End Sub
Private Sub cmdDesativa_Click()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, False
MsgBox "Tecla Shift DESATIVADA!"
DoCmd.Close acForm, "fShift"
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
Última edição por Norberto Rost em 3/6/2012, 17:27, editado 1 vez(es)