masquer définitivement les tables

Le
barlou
Bonjour à tous,

J'ai de plus en plus d'utilisateurs qui connaissent la manip pour afficher
les tables
et je souhaiterai que la fenêtre de base de données soit innaccessible à
tous sauf moi-même. j'ai testé quelques lignes de codes mais je bute sur 2
problèmes.
Pour les droits, il faudrait que tous mes utilisateurs soient administareurs
de la base afin que le code puisse fonctionner.
et je lance l'execution du code au chargement de mon formulaire d'accueil.
Il faudrait que la sécurité s'active avant.
Avez-vous une idée sur la méthode .
d'avance merci pour vos lumières.
Patrick
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Blaise Cacramp
Le #19663631
Selon : Bonjour ou bonsoir

1:
D'abord une première lecture :
http://www.3stone.be/access/articles.php?lng=fr&pgh

2:
Ensuite, sur les PC des utilisateurs, un raccourci pour lancer la base en
mode /runtime
cheminMSACCESS.EXE /runtime cheminnomDeLaBase.mdb

3:
Un formulaire "menu général" qui à son ouverture lance un contrôle de mot de
passe :

Private Sub Form_Open(Cancel As Integer)
...
Dim bRunT As Boolean
...
bRunT = SysCmd(acSysCmdRuntime) 'mode runTime
...
...
If Not bRunT Then
DoCmd.OpenForm "Frm_No_Runtime", acNormal, , , , acDialog
End If
...
End Sub

4 :
Le formulaire Frm_No_Runtime contient au moins une zone de texte "TxtInput"
au format password (des étoiles) et un bouton Cmd_Ok

Private Sub Cmd_Annuler_Click()
Application.Quit
End Sub

Private Sub Cmd_Ok_Click()
If Me.TxtInput <> "Votre mot de passe" Then Application.Quit
DoCmd.Close
End Sub

5:
La fermeture du menu général (en mode runtime) entraîne la fermeture de la
base.

+++

C'est la méthode que j'utilise depuis deux ans maintenant. Chaque poste
client doit avoir MS-Access installé, mais l'appli démarre en mode runtime
(donc accès très très limité)
Les plus malins connaissent peut-être la méthode du shift, mais je n'ai pas
eu d'échos.
J'ai bien entendu placé le même système sur la dorsale. Et là, j'ai eu
l'écho d'un bien malin qui voulait voir ("mais comme t'as mis un mot de
passe...")

Avoir Access installé sur les postes clients permet de faire du déboguage in
situ. En mode runtime, une erreur non gérée, c'est l'éjection d'office.
Malgré les explications de l'opérateur, il est souvent difficile de situer
l'origine de la l'erreur, d'où la possibilité de lancer l'appli frontale en
mode normal, refaire les manips attendre l'erreur et situer son origine en
mode debug


Cdt, Blaise
---- ---- ----


"barlou"
Bonjour à tous,

J'ai de plus en plus d'utilisateurs qui connaissent la manip pour afficher
les tables
et je souhaiterai que la fenêtre de base de données soit innaccessible à
tous sauf moi-même. j'ai testé quelques lignes de codes mais je bute sur 2
problèmes.
Pour les droits, il faudrait que tous mes utilisateurs soient
administareurs
de la base afin que le code puisse fonctionner.
et je lance l'execution du code au chargement de mon formulaire d'accueil.
Il faudrait que la sécurité s'active avant.
Avez-vous une idée sur la méthode .
d'avance merci pour vos lumières.
Patrick


Publicité
Poster une réponse
Anonyme