Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Sécurité
Sécurité Le forum qui s'occupe de votre préoccupation de sécuriser l'accès à votre application Access, ainsi qu'à la sécurité des données.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/10/2011, 19h31   #1
Invité de passage
 
Inscription : novembre 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 9
Points : 3
Points : 3
Par défaut Inhiber la touche MAJ au démarrage

Je vous voudrais copier l'exemple illustré par "Franck" dans son tutoriel pour paramétrer la propriété AllowBypassKey par le biais de Visual Basic et désactiver la touche MAJ. (http://access.developpez.com/faq/?pa...ral#noautoexec)

Problème: je ne sais pas où copier ce code pour qu'il fonctionne au démarrage de l'application !

Quelqu'un peut-il m'aider?

Merci par avance.
jazzala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2011, 14h54   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

AllowBypassKey est une option de démarrage.
Lorsqu'on la modifie, elle prend effet à la réouverture de la base de données.

Le code de la faq (Inhiber la touche MAJ au démarrage) peut être copié dans un module de code.
Tu peux ensuite exécuter les sub SetBypassProperty et UnSetBypassProperty pour modifier l'option de démarrage AllowBypassKey.
Tu peux le faire directement depuis l'éditeur Visual Basic, ou créer un formulaire avec des boutons pour appeler SetBypassProperty et UnSetBypassProperty.

Attention : Une fois AllowBypassKey mise à True, la fonctionnalité de la touche MAJ au démarrage est désactivée.
Si tu as tout verrouillé dans ta base, il se peut que ne puisse plus avoir le moyen d'exécuter UnSetBypassProperty.
Fais des essais sur une base de test.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2011, 18h39   #3
Invité de passage
 
Inscription : novembre 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 9
Points : 3
Points : 3

Je ne dois pas mettre les lignes de codes à la bonne place car la touche MAJ reste active:
Où est l'erreur ??
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Option Compare Database
Private Sub Form_OnConnect()
Sub SetBypassProperty()
Const DB_Boolean As Long = 1
    ChangeProperty "AllowBypassKey", DB_Boolean, False
End Sub
Function ChangeProperty(strPropName As String, varPropType As Long, varPropValue As Variant) As Integer
    Dim dbs As Database, prp As Variant
    Const conPropNotFoundError = 3270
    Set dbs = CurrentDb
    On Error GoTo Change_Err
    dbs.Properties(strPropName) = varPropValue
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.
  Resume Change_Bye
End If
End Function
End Sub
jazzala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2011, 20h13   #4
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

Apparemment tu as collé le code dans un module de code formulaire.
Le plus simple est de le coller à la fin.

Voici un exemple d'un formulaire à deux boutons
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Option Compare Database
Option Explicit
 
' Bouton pour activer MAJ
Private Sub CmdActiverMAJ_Click()
' Appel Sub UnSetBypassProperty de la faq
UnSetBypassProperty
End Sub
 
' Bouton pour desactiver MAJ
Private Sub CmdDesactiverMAJ_Click()
' Appel Sub SetBypassProperty de la faq
SetBypassProperty
End Sub
 
' ---------------------------------------------------------
' code de la faq - DEBUT
' ---------------------------------------------------------
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 Long, varPropValue As Variant) As Integer
    Dim dbs As Database, prp As Variant
    Const conPropNotFoundError = 3270
    Set dbs = CurrentDb
    On Error GoTo Change_Err
    dbs.Properties(strPropName) = varPropValue
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.
  Resume Change_Bye
End If
End Function
' ---------------------------------------------------------
' code de la faq - FIN
' ---------------------------------------------------------
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h35.


 
 
 
 
Partenaires

Hébergement Web