IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Contrôle de l'accès aux tables access


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    INGÉNIEUR
    Inscrit en
    Août 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : INGÉNIEUR
    Secteur : Transports

    Informations forums :
    Inscription : Août 2013
    Messages : 37
    Points : 30
    Points
    30
    Par défaut Contrôle de l'accès aux tables access
    Bonjour à tous,

    J'aimerais savoir si il était possible de générer une action lors de l'ouverture d'un table manuellement.

    Plus précisément, je voudrais seulement être en mesure de pouvoir modifier les tables contenant mes données par le biais d'un formulaire que j'ai moi-même crée.

    Si un usager curieux décide de consulter les tables, je voudrais lancer un message d'avertissement ou bien peut-être même ouvrir un inputbox. Je ne désire pas bloquer la lecture ni l'écriture, mais seulement l'ouverture manuelle.

    Quelle est la procédure évenementielle qui me permettrait de faire une telle chose?

    Je vous remercie d'avance pour vos précieux conseils et je profite de l'occasion pour vous souhaiter de joyeuses fêtes!

  2. #2
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Points : 1 266
    Points
    1 266
    Par défaut
    Bonsoir,

    Si je comprend bien, lorsque les utilisateurs utilisent ton application, il voient la fenêtre contenenant tous les formulaires, tables, etc.
    Si c'est le cas, c'est effectivement dangereux.
    Dans les options Access, tu peux désactiver cette fenêtre.
    Cette option définie, elle prendra effet à la prochaine ouverture de ton application.

  3. #3
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour davidbd

    Ne serait-il pas plus simple de faire comme dans cette discussion?
    http://www.developpez.net/forums/d14...e-menu-access/

    Bonne journée

  4. #4
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Je crois qu'on a répondu en même temps Christophe, et je crois qu'on dit la même chose...

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    INGÉNIEUR
    Inscrit en
    Août 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : INGÉNIEUR
    Secteur : Transports

    Informations forums :
    Inscription : Août 2013
    Messages : 37
    Points : 30
    Points
    30
    Par défaut
    Bonjour à tous,

    Présentement, j'ai caché la liste des tables et des requêtes de la façon que vous m'avez expliquée.

    Quelques utilisateurs de ma base de données connaissent bien Access tandis que d'autres n'y connaissent rien. C'est pour cette raison que j'aimerais afficher cette liste. En programmant la procédure d'ouverture, je pourrais m'organiser avec un inputbox pour gérer l'accès aux tables/ requêtes.

    Sinon, à l'inverse, est-il possible de cacher la liste dès l'ouverture mais de permettre à certains de l'ouvrir?

    Merci pour votre réponse et bonne journée!

  6. #6
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour davidbd,

    Tu peux prendre exemple du # 8 dans le post cité, je crois que c'est exactement ce que tu veux.
    Si ce n'est pas le cas il y a aussi:
    Masquer le ruban: http://access.developpez.com/faq/?pa...velleInterface
    Masquer le volet de navigation: http://www.developpez.net/forums/d35...et-navigation/

    Bonne journée

  7. #7
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Points : 1 266
    Points
    1 266
    Par défaut
    Bonjour,

    Tu as effectivement la possibilités d'hiniber la touche MAJ et on pourrait envisager la possibilité d'avoir un formulaire qui demanderait aux utilisateurs d'être administrateur ou utilisateur afin d'avoir ou non accès aux tables et requêtes.
    Toutefois, il faudra relancer l'application pour que cela prenne effet.
    Autre solution : après avoir défini la propriété pour cacher la fenêtre des objets, il suffit alors de garder la touche MAJ appuyée au moment où tu double-clique sur ton fichier d'application.
    Cette dernière solution est certainement la plus simple mais pour le coup n'importe qui peut le faire.

    Pour ma part, seul le concepteur doit avoir accès aux tables, requêtes et autres afin d'en assurer la maintenance ou l'évolution.
    Les autres doivent uniquement enrichir les tables via des formulaires.

    A toi de voir ce qui te semble le plus judicieux.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    INGÉNIEUR
    Inscrit en
    Août 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : INGÉNIEUR
    Secteur : Transports

    Informations forums :
    Inscription : Août 2013
    Messages : 37
    Points : 30
    Points
    30
    Par défaut
    Bonjour à tous,

    Je vous remercie de l'attention que vous accordez à ma question. Je vais dans un premier temps consulter les liens que vous m'avez transmis. Cela va probablement m'inspirer pour la continuité de mon programme.

    Lorsque je réussirai à programmer le tout, je vous laisserai le code ici afin de le rendre accessible à tous pour consultation ultérieure. Sinon, je vous poserai d'autres questions.

    Sur ce, joyeux temps des fêtes!

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    INGÉNIEUR
    Inscrit en
    Août 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : INGÉNIEUR
    Secteur : Transports

    Informations forums :
    Inscription : Août 2013
    Messages : 37
    Points : 30
    Points
    30
    Par défaut
    Rebonjour à tous,

    Je viens d'éplucher tous les liens que vous m'avez envoyé mais je n'ai pas réussi à faire ce que je voulais.

    Premièrement, il faut savoir que le volet de navigation est caché par défaut. Ce que je veux faire, par le biais d'un inputbox, c'est d'autoriser l'affichage du volet de navigation lorsque que la chaîne de caractères entrée est la bonne (une sorte de mot de passe).

    Je suis conscient que j'ai oublié de le mentionner, mais je travaille sous access 2003 au bureau. Nous allons passer à access 2010 au courant du printemps prochain (enfin!). Cela implique donc qu'il n'y a pas de ruban non plus et que je n'ai pas besoin de le cacher.

    Quant à la touche MAJ, je crois que ce n'est pas assez efficace pour assurer l'étanchéité de ma BD.

    Je suis capable de modifier la propriété de démarrage de ma BD à l'aide du code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub Image_ModeModification_Click()
     
    Dim BDD As DAO.Database
    Set BDD = CurrentDb
     
     
    Password = InputBox("Entrer le mot de passe pour accéder au mode modification")
     
       If Password = "administrateur" Then
       BDD.Properties("StartUpShowDBWindow") = True
     
       Else: MsgBox ("Mot de passe erroné")
     
       End If
     
    End Sub
    Je suis en train de penser que je devrais continuer avec ce code, mais redémarrer la base de données ensuite. Finalement, lors de la fermeture de la base, désactiver l'ouverture du volet de navigation par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BDD.Properties("StartUpShowDBWindow") = False
    Autrement, avez-vous autre chose à me proposer?

    Merci à tous pour votre contribution et joyeuses fêtes!

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    INGÉNIEUR
    Inscrit en
    Août 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : INGÉNIEUR
    Secteur : Transports

    Informations forums :
    Inscription : Août 2013
    Messages : 37
    Points : 30
    Points
    30
    Par défaut
    Après maintes tentatives, je ne réussis toujours pas à résoudre mon problème.

    Est-ce que la méthode que je propose a du sens ou bien je devrais revoir ma façon de faire?

    Merci et bonne journée!

  11. #11
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Niveau sécurité Access est assez limité.

    Personnellement les seuls utilisateurs que j'ai vu allez fouiller directement dans les tables sont les informaticiens. La plus part des utilateurs se soucient seulement de faire leur travail et n'ont que faire de la mécanique en arrière.

    Note que quelque soit les protections que tu vas mettre dans l'application, en utilisant simplement Excel un utilisateur peut avoir accès à tes données via l'outil d'importation ou de lien de Excel.

    Que contient ta BD, est-ce des données extrèmement sensibles ? Si oui, je te recommande un outil du type SQL Serverr ou Oracle.

    Si non, masquer la fenêtre de l'application devrait te mettre à l'abris des accidents.

    A+

  12. #12
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 873
    Points : 3 459
    Points
    3 459
    Par défaut
    Bonjour davidbd,

    J'aurais tendance à dire comme René mais tu peux quand même rende la tache plus difficile pour ceux qui voudrait aller fouiller et qui n'ont pas le droit.

    1. fichier mde ou accde
    2. Désactiver le Allow ByPass Key
    3. Mettre un mot de passe sur la dorsale que toi seul connait
    4. Avec 2003 mettre ta propre barre d'outils avec seulement les commandes voulues, avec 2010 ton propre ruban
    5. Désactiver le volet de navigation


    Ce n'est pas très compliqué à mettre en place. Ceux qui peuvent passer outre cela sont plus que de simples utilisateurs.

    Bonne journée

Discussions similaires

  1. [AC-2010] Accès aux tables sans ACCESS run time
    Par sebing dans le forum Projets ADP
    Réponses: 6
    Dernier message: 24/12/2011, 15h50
  2. accès à aux tables access via oracle
    Par soso77 dans le forum Sql*Plus
    Réponses: 1
    Dernier message: 14/11/2007, 10h53
  3. Réponses: 3
    Dernier message: 30/05/2006, 19h09
  4. Réponses: 5
    Dernier message: 24/05/2006, 23h53
  5. Page d'accés aux données Access sur un site web
    Par kilimanjaro dans le forum Access
    Réponses: 3
    Dernier message: 29/01/2006, 19h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo