OVH Cloud OVH Cloud

Protéger l'accès à mes tables

3 réponses
Avatar
epsilon
Bonjour,

Comment faire pour protéger l'accès à mes tables (Access 2002) sans
utiliser la protection par utilisateutr / groupe d'utilisateur prévue
par ACCESS (Mdw) qui est assez lourde à utiliser et qui va avoir des
effets également chez les autres utilisateurs ACCESS sur le réseau. La
protection en masquant une table ou en la nommant sys- n'est pas
suffisante, la suppression de l'interface via le menu démarrage n'est
pas suffisante non plus, ni encore l'utilisation en final d'un mde ->
on arrive toujours à accéder aux tables ! Merci de votre aide / Daniel

3 réponses

Avatar
Maxence HUBICHE [MVP Access]
ben ... tu peux essayer de tout faire en code (mais franchement, je te
recommande la sécurité intégrée user/group qui n'est pas lourde du tout,
quand on l'a comprise ...)

Solution 1 :
Attache des table à l'ouverture...



Détache à la fermeture, ou sur erreur ...


Solution 2 :
Accès aux données uniquement en DAO ou ADO suivant ce que tu utilises...



Et tout refaire à la mimine...

Solution 3 :
Euh ... y'a qu'elqu'un pour la solution 3 ????



--
Maxence HUBICHE
Formateur et Developpeur Indépendant
Microsoft MVP Office Systems - Access
Site : http://www.access-maxence.com
Blog : http://www.access-maxence.com/blog/
Rédacteur & Développeur sur http://www.developpez.com
Forum Access : http://www.developpez.net/forums/viewforum.php?f8
FAQ Access : http://access.developpez.com/faq
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


"Dany" a écrit dans le message de
news:
Bonjour,

Comment faire pour protéger l'accès à mes tables (Access 2002) sans
utiliser la protection par utilisateutr / groupe d'utilisateur prévue
par ACCESS (Mdw) qui est assez lourde à utiliser et qui va avoir des
effets également chez les autres utilisateurs ACCESS sur le réseau. La
protection en masquant une table ou en la nommant sys- n'est pas
suffisante, la suppression de l'interface via le menu démarrage n'est
pas suffisante non plus, ni encore l'utilisation en final d'un mde ->
on arrive toujours à accéder aux tables ! Merci de votre aide / Daniel




Avatar
Ilan
bonjour,
Une des solutions est de placer les tables et les requetes dans un autre
fichier MDB.
L'acces aux donnees se fera alors uniquement via VBA.
Les utilisateurs n'auront plus alors acces a la structure des tables mais a
leur contenu.


Bonjour,

Comment faire pour protéger l'accès à mes tables (Access 2002) sans
utiliser la protection par utilisateutr / groupe d'utilisateur prévue
par ACCESS (Mdw) qui est assez lourde à utiliser et qui va avoir des
effets également chez les autres utilisateurs ACCESS sur le réseau. La
protection en masquant une table ou en la nommant sys- n'est pas
suffisante, la suppression de l'interface via le menu démarrage n'est
pas suffisante non plus, ni encore l'utilisation en final d'un mde ->
on arrive toujours à accéder aux tables ! Merci de votre aide / Daniel



Avatar
JMH
Salut
Moi j'utlise un système qui empêche de faire entre autre Shift(au démarrage)
et F11 une fois le programme lancé.
Je gère ça par le Menu principal dans lequel j'ai mis un bouton(en partie
invisible) Protégé par mot de passe qui va dans un formulaire de Protection,
Dans ce dernier j'ai entre 4 boutons, Mettre et Enlever protection (Pour
File et PRG)
Tu fais le traitement et après tu sors d'Access et quand tu y reviens, pas
de Shift, ni F11, etc..

Je ne pourrais t'expliquer exactement la chose, étant donné que j'ai repris
ça sur le net, mais voilà comment j'ai procédé:

Si ça peux t'aider.
Meilleures salutations.
__________________________________________________________________
Private Sub cmdProtectOuiPrg_Click()
If ValiderTraitement() = False Then Exit Sub
txtCurrentMdb = Left(CurrentDb.Name, Len(CurrentDb.Name) - 3) & "mdb"
Call ProtectionBase.MettreProtectionBase(txtCurrentMdb)
End Sub
________________________________________________________________________
Private Sub cmdProtectNonPrg_Click()
If ValiderTraitement() = False Then Exit Sub
txtCurrentMdb = Left(CurrentDb.Name, Len(CurrentDb.Name) - 3) & "mdb"
Call ProtectionBase.EnleverProtectionBase(txtCurrentMdb)
End Sub
____________________________________________________________________________
___
Sub MettreProtectionBase(nomPathDataBase As String)
' ModifiePropr "StartupForm", dbText, "frmMenu", nomPathDataBase
ModifiePropr "StartupShowDBWindow", dbBoolean, False, nomPathDataBase
ModifiePropr "StartupShowStatusBar", dbBoolean, True, nomPathDataBase
ModifiePropr "AllowBuiltinToolbars", dbBoolean, False, nomPathDataBase
ModifiePropr "AllowFullMenus", dbBoolean, False, nomPathDataBase
ModifiePropr "AllowBreakIntoCode", dbBoolean, False, nomPathDataBase
ModifiePropr "AllowSpecialKeys", dbBoolean, False, nomPathDataBase
ModifiePropr "AllowBypassKey", dbBoolean, False, nomPathDataBase
End Sub
_____________________________________________________________
Sub EnleverProtectionBase(nomPathDataBase As String)
' ModifiePropr "StartupForm", dbText, "frmMenu", nomPathDataBase
ModifiePropr "StartupShowDBWindow", dbBoolean, True, nomPathDataBase
ModifiePropr "StartupShowStatusBar", dbBoolean, True, nomPathDataBase
ModifiePropr "AllowBuiltinToolbars", dbBoolean, True, nomPathDataBase
ModifiePropr "AllowFullMenus", dbBoolean, True, nomPathDataBase
ModifiePropr "AllowBreakIntoCode", dbBoolean, True, nomPathDataBase
ModifiePropr "AllowSpecialKeys", dbBoolean, True, nomPathDataBase
ModifiePropr "AllowBypassKey", dbBoolean, True, nomPathDataBase
End Sub
____________________________________________________________________________
__________________________________
Function ModifiePropr(chNomPropriété As String, varTypeProp As Variant,
varValeurProp As Variant, nomPathDataBase As String) As Integer
Dim bds As Database, prp As Property
Const conErreurPropNonTrouvée = 3270

Set bds = OpenDatabase(nomPathDataBase)
On Error GoTo Change_Err
bds.Properties(chNomPropriété) = varValeurProp
ModifiePropr = True
Change_Sortie:
Exit Function

Change_Err:
If Err = conErreurPropNonTrouvée Then ' Propriété non trouvée.
Set prp = bds.CreateProperty(chNomPropriété, _
varTypeProp, varValeurProp)
bds.Properties.Append prp
Resume Next
Else
' Erreur inconnue.
ModifiePropr = False
Resume Change_Sortie
End If
End Function
________________________


"Dany" a écrit dans le message de
news:
Bonjour,

Comment faire pour protéger l'accès à mes tables (Access 2002) sans
utiliser la protection par utilisateutr / groupe d'utilisateur prévue
par ACCESS (Mdw) qui est assez lourde à utiliser et qui va avoir des
effets également chez les autres utilisateurs ACCESS sur le réseau. La
protection en masquant une table ou en la nommant sys- n'est pas
suffisante, la suppression de l'interface via le menu démarrage n'est
pas suffisante non plus, ni encore l'utilisation en final d'un mde ->
on arrive toujours à accéder aux tables ! Merci de votre aide / Daniel