bonjour,
Après plusieurs heures de recherches j'ai enfin, trouvé sur le forum mon bonheur pour sésactiver et activer la touche Shift. Cà marche très bien sauf que si l'on garde la touche Shift appuyée lors du lancement de l'aplication nous avons quand même accès aux macros, aux options de démarrage et de sécurité par le biais du menu.
Y aurait il une solution ou une modification à aporter au code?
Merci de votre aide.
Ci-dessous les codes utilisés:
Dans un formulaire contenant deux boutons :
1- VEROUILLER LA BSE
2- DEVEROUILLER LA BASE
Dans l'evenement sur clic de "VERROUILLER"j'ai placer le code :
Module1.SetBypassProperty
If MsgBox("Vous verrouiller votre application .Voulez vous continuer?", _
vbQuestion + vbYesNo) = vbYes Then
DoCmd.Quit
End If
Dans l'evenement sur clic de "DEVERROUILLER"j'ai placer le code :
Module1.UnSetBypassProperty
If MsgBox("Vous verrouiller votre application .Voulez vous continuer?", _
vbQuestion + vbYesNo) = vbYes Then
DoCmd.Quit
End If
Module1 : c'est le nom du module du code
Dnoc à chaque fois que tu veux faire des modifications tu pemet le schift puis apres avoir terminer tu l'enleve
le code placé dans le module 1 c'est :
Sub SetBypassProperty()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, False
End Sub
Sub UnSetBypassProperty()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, True
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 ' Propriété non trouvée.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Erreur inconnue.
ChangeProperty = False
Resume Change_Bye
End If
End Function
Partager