OVH Cloud OVH Cloud

AllowBypassKey ...

7 réponses
Avatar
Sylvain
Bonjour,

Lorsqu'on inhibe la touche Maj au moyen de la propri=E9t=E9=20
AllowBypassKey en la r=E9glant sur la valeur False. Comment=20
est-il possible... de revoir le code dans la mesure o=F9=20
l'on ne peut plus y acc=E9der.

merci,

Sylvain

7 réponses

Avatar
Raymond [mvp]
Bonjour.

Soit tu prévois un code dans ton appli pour remettre la propriété soit tu la
remets à partir d'une autre application.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Sylvain" a écrit dans le message de
news:1493501c3f956$a08dff30$
Bonjour,

Lorsqu'on inhibe la touche Maj au moyen de la propriété
AllowBypassKey en la réglant sur la valeur False. Comment
est-il possible... de revoir le code dans la mesure où
l'on ne peut plus y accéder.

merci,

Sylvain
Avatar
Merci Raymond,

Mais comment on fait à partir d'une autre application, tu
lui demandes d'ouvrir la base et après tu règles la
valeur sur False ?

Sylvain
-----Message d'origine-----
Bonjour.

Soit tu prévois un code dans ton appli pour remettre la
propriété soit tu la

remets à partir d'une autre application.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Sylvain" a écrit
dans le message de

news:1493501c3f956$a08dff30$
Bonjour,

Lorsqu'on inhibe la touche Maj au moyen de la propriété
AllowBypassKey en la réglant sur la valeur False. Comment
est-il possible... de revoir le code dans la mesure où
l'on ne peut plus y accéder.

merci,

Sylvain


.



Avatar
Raymond [mvp]
Tu passes par automation, par exemple:
Dim App As Access.Application
Set App = New Access.Application
App.OpenCurrentDatabase "c:Baseàdébloquer.mdb "
App.Visible = False
App.currentdb.Properties( ..........................
App.CloseCurrentDatabase
App.Quit
Set App = Nothing


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


a écrit dans le message de
news:14bc101c3f958$7b68cd50$
Merci Raymond,

Mais comment on fait à partir d'une autre application, tu
lui demandes d'ouvrir la base et après tu règles la
valeur sur False ?

Sylvain
Avatar
Merci Raymond,

Après la ligne App.currentdb.Properties
( ..........................

je passe le code suivant
InhiberByPass (True)
App.CurrentDb().Properties("AllowBypassKey") = True

Public Function InhiberByPass(bValeur As Boolean)
Dim prpAllow As Variant

CurrentDb().Properties("AllowBypassKey") = bValeur

InhiberByPassExit:
Exit Function
End Function

Malheureusement je ne peux toujours pas accéder au code
de la première base à débloquer.

Merci de votre aide car je suis un peu mal.

Sylvain


-----Message d'origine-----
Tu passes par automation, par exemple:
Dim App As Access.Application
Set App = New Access.Application
App.OpenCurrentDatabase "c:Baseàdébloquer.mdb "
App.Visible = False
App.currentdb.Properties( ..........................
App.CloseCurrentDatabase
App.Quit
Set App = Nothing


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


a écrit dans le
message de

news:14bc101c3f958$7b68cd50$
Merci Raymond,

Mais comment on fait à partir d'une autre application, tu
lui demandes d'ouvrir la base et après tu règles la
valeur sur False ?

Sylvain


.



Avatar
Raymond [mvp]
Essaie de rentrer cette sub dans un formulaire sous un bouton, car il faut
tester si la propriété existe.

Private Sub Commande0_Click()
Dim App As Access.Application
Dim prp As Property
Set App = New Access.Application
App.OpenCurrentDatabase "Bd1.mdb "
App.Visible = False
On Error GoTo Creer
App.CurrentDb.Properties("AllowBypassKey") = True
Sortie:
App.CloseCurrentDatabase
App.Quit
Set App = Nothing
Exit Sub
Creer:
Set prp = App.CurrentDb.CreateProperty("AllowBypassKey", dbBoolean,
True)
App.CurrentDb.Properties.Append prp
Resume Sortie
End Sub

bd1 est la base à modifier
non testé , si ça merdouille , tu dis.
pour l'enlever tu mets False à la place de True
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


a écrit dans le message de
news:14c1a01c3f962$8bb45b70$
Merci Raymond,
Avatar
JPB
Bonjour
Pour une appli qu'il a fallu que je verrouille, j'ai utilisé la gestion des
utilisateurs car c'est le seul moyen de vraiment protéger ta base.
1 - Faire tes groupes et utilisateurs
2 - Dans le formulaire de démarrage, un évènement sur ouverture pour forcer
les utilisateurs à utiliser le mdw pour la gestion des utilisateurs.
Automatiquement, à chaque démarrage la propriété est à false pour
AllowBypassKey
______
Fichier = "c:CheminFichier.mdw"
Profil = SysCmd(acSysCmdGetWorkgroupFile)
If Profil <> Fichier Then
MsgBox "Utilisez le raccourci pour lancer l'application !", vbOKOnly,
"ATTENTION"
DoCmd.Quit
End If
ModifiePropr "AllowBypassKey", dbBoolean, False
______
3 - tu prévois un bouton qui vérifie que c'est bien toi qui est loggé ou le
groupe autorisé (si ça suffit)
___
Dim usr As User, grp As Group, Autorisation As Integer, wrk As Workspace
Set wrk = DBEngine.Workspaces(0)
Autorisation = 0
With wrk
'PACOURS DE LA COLLECTION USERS POUR TROUVER LA PERSONNE CONNECTEE
For Each usr In Workspaces(0).Users
If usr.Name = CurrentUser Then
If usr.Groups.Count <> 0 Then
For Each grp In usr.Groups 'DE QUELS GROUPE IL DEPEND
If grp.Name = "informatique" Or grp.Name = "Gestionnaires"
Then 'Par exemple j'au autorisé tous les membres des groupes info et
gestionnaires de pouvoir entrer dans la base en mode prog
Autorisation = 1 'A UTILISER POUR AUTORISER UNE ACTION
Else
End If
Next grp
Else
End If
Else
End If
Next usr

If Autorisation = 1 Then
'Si tu veux qu'il n'y ait que toi qui puisse le faire, teste ton loggin,
sinon modifie directement la propriété
If CurrentUser = "Ton_Loggin" Then
ModifiePropr "AllowBypassKey", dbBoolean, True
Docmd.quit
End If
Else
MsgBox "Vous n'avez pas" & Chr(13) & Chr(10) & " l'autorisation !",
vbOKOnly, "HELAS"
End If
End With
________
4 - Ta base se refermera et il te suffira de la réouvrir en appuyant sur
shift. Dès que te rebasculera en mode formulaire la form de démarrage la
propriété repassera à False.
Et le tour est joué.
Salut



"Sylvain" a écrit dans le message de
news: 1493501c3f956$a08dff30$
Bonjour,

Lorsqu'on inhibe la touche Maj au moyen de la propriété
AllowBypassKey en la réglant sur la valeur False. Comment
est-il possible... de revoir le code dans la mesure où
l'on ne peut plus y accéder.

merci,

Sylvain
Avatar
Sylvain
Merci beaucoup Raymond

Sylvain
-----Message d'origine-----
Essaie de rentrer cette sub dans un formulaire sous un
bouton, car il faut

tester si la propriété existe.

Private Sub Commande0_Click()
Dim App As Access.Application
Dim prp As Property
Set App = New Access.Application
App.OpenCurrentDatabase "Bd1.mdb "
App.Visible = False
On Error GoTo Creer
App.CurrentDb.Properties("AllowBypassKey") = True
Sortie:
App.CloseCurrentDatabase
App.Quit
Set App = Nothing
Exit Sub
Creer:
Set prp = App.CurrentDb.CreateProperty
("AllowBypassKey", dbBoolean,

True)
App.CurrentDb.Properties.Append prp
Resume Sortie
End Sub

bd1 est la base à modifier
non testé , si ça merdouille , tu dis.
pour l'enlever tu mets False à la place de True
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


a écrit dans le
message de

news:14c1a01c3f962$8bb45b70$
Merci Raymond,



.