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

Access Discussion :

Mot de passe sur touche de dévérouillage Access


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Novembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Novembre 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Mot de passe sur touche de dévérouillage Access
    Bonjour,
    J'ai une base access 2007 utilisée par différentes personnes. afin de protéger les tables et les requêtes j'ai cacher la fentre de base de donneée et la barre d'outils.
    Mais en utilisant la touche de dévérroulliage MAJ+Entrée elle réaparaissent pour tout le monde.
    Comme certaine personnes connaissent cette manip, est il possible de changer la touche de dévérrouillage ou de mettre un mot de passe dessus.

    Merci pour votre aide

  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
    Bonjour,

    Je suis aussi en Access 2007 et je viens de faire quelques tests.

    Pour ma part, Maj+Enter ne change rien.

    Effectivement, si je tape simplement sur Enter, l'objet sélectionné s'ouvre même si la fenêtre des objets n'est pas visible, mais c'est tout.

    Par palier ce problème, je sélectionne le formulaire principal avant de fermer et distribuer mes applications, comme çà, si un utilisateur tape sur Enter au lieu d'utiliser le ruban, je suis sur qu'il n'ouvrira pas quelque chose qu'il n'a pas besoin de voir.

    Regardes dans les options Access/Base de données active et décoche Afficher le volet de navigation.
    Cela pourrait suffir à résoudre ton problème.

    Cordialement

    Christophe

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Novembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Novembre 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Jepense que nous ne nous somme pas compris.
    En ayant retirer toutes les options access 2007 :

    Options access -> Base de donnée active
    -> Options de l'application
    Décocher : Afficher la barre d'état
    Décocher : Afficher les onglets des documents
    Décocher : Autoriser les modifications de structure des tables en mode Feuille de données

    -> Options barre d'outils et du ruban
    Décocher : Autoriser les menus complets
    Décocher : Autoriser les menus contextuels par defaut
    Décocher : Afficher les barres d'outil intégrées

    et en ayant mis sur mon Formulaire d'accueil qui s'ouvre automatiquement le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.SelectObject acTable, , True
    DoCmd.RunCommand acCmdWindowHide
    Plus rien n'apparait sur l'écran lorsque tu réouvres. Juste le formulaire que je veux leur fournir.

    mais en utilisant la touche de dévérouillage Maj+entrée tout réapparait.
    Comme la touche de dévérouillage est standard beaucoup de personne connaissent l'astuce, c'est pour ca que j'aurais bien voulu la changer ou mettre un mot de passe pour ouvrir la base en mode dévérouillage

    merci pour votre aide

  4. #4
    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,

    A mon avis c'est une fonction de l'application et donc, je ne vois pas de solution même si elle doit exister puisque je n'ai pas ce problème.

    Essaies toutefois ceci :
    Sur les évènements de ton formulaire du défini "Aperçu des touches" à Oui.
    Ensuite, "Sur touche appuyée" colle le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Select Case Shift
        Case 1 'Touche MAJ
            Select Case KeyCode
               Case 13 'Touche Enter
                    KeyCode = 0'Annule la frappe de touches
            End Select
    End Select
    Cordialement

    Christophe

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,

    Est-ce que tu as déjà essayé d'utiliser le code indiqué ici. Effectivement, comme d'autres systèmes, on peut le contourner en appuyant sur MAJ au démarrage de l'application. Mais la plupart du temps les gens qui font cela veulent faire autre chose que le travail qu'ils sont censé faire. Donc qu'importe le verrouillage que tu vas mettre en place, certains de ces petits malins voudront toujours faire l'intéressant.
    L'autre option que tu aurais, c'est de distribuer la version accde de l'appli.

    Attention, les codes doivent être stables dans tous les cas.

    Bonne continuation

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Comptable
    Inscrit en
    Novembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Novembre 2012
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Non malheureusement j'ai toujours la fenêtre de base de données qui s'ouvre.

    Mais je pense comme toi que l'on peut rien y faire comme c'est la configuration de l'application qui passe avant tout traitement VBA

    merci quand même

    Voici un exemple de base
    Fichiers attachés Fichiers attachés

  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,

    Au temps pour moi ou alors tu t'es vraiment mal expliqué.

    Ton problème intervient lorsque tu sélectionnes l'application et que tu appuies sur Maj+Enter.
    Dans ce cas il y a une solution.

    Tu copies le code suivant dans un module.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub AutoriseShift(Statu As Boolean) 'Etat= True  ou False pour activer ou non la touche Shift
    On Error GoTo Err
        CurrentDb.Properties("AllowBypassKey") = Statu 'Activation ou non de la touche Shift
     
    Exit Sub
     
    Err:
            CurrentDb.Properties.Append CurrentDb.CreateProperty("AllowBypassKey", dbBoolean, True)
    End Sub
    Tu peux ensuite envisager une table (AppliSystem) avec un champ (Admin) de type Integer qui aurait la valeur 0.
    Sur le bouton Quitter tu ajoutes :

    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
    Dim db As DAO.Database
    Dim rst=DAO.Recordset
    If DFirst("Admin","AppliSystem")=0 Then
       If MsgBox("Souhaitez-vous verrouiller l'application ?")=vbYes Then
          call AutoriseShift(False)
          Set db = CurrentDb 'On change la valeur de la table pour définir le programme comme Utilisateur
          Set rst = db.OpenRecordset("AppliSystem", dbOpenDynaset)
         With rst
              .Edit
              .fields("Admin") = 1 
              .Update
         End With
         rst.Close: Set rst = Nothing
       End If
    End If
    Avec le code ci-dessus, l'utilisateur ne verra jamais de message.

    Esuite pour repasser en mode administrateur, sur touche appuyée d'un formulaire :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Dim sInput As String
    Dim MotPasse As String
     
    Select Case Shift
        Case 1 'Touche MAJ
            Select Case KeyCode
                   Case 121  'Touche Shift+F10
                     'On réactive la touche shift et on ferme l'application pour pouvoir intervenir dans la BDD
    On_Relance:
     
              MotPasse = "TonMotDePasse"
     
                sInput = InputBox("Entrez votre mot de passe.", "Mot de passe")
     
                If sInput = MotPasse Then 'Si le mot de passe est correct (sans respect de casse)
                    AutoriseShift True 'On active la touche Shift
     
                    Set db = CurrentDb 'On change la valeur de la table pour définir le programme comme Administrateur
                    Set rst = db.OpenRecordset("Admin", dbOpenDynaset)
     
                        With rst
                            .Edit
                            .fields("Admin") = 0
                            .Update
                        End With
     
                        rst.Close: Set rst = Nothing
     
                    MsgBox "Touche Shift activée." & vbLf & _
                        "L'application va être fermée.", vbOKOnly, "Fermeture"
                    Application.Quit 'On quitte l'application pour pouvoir la réouvrir en appuyant sur la touche Shift
     
                ElseIf StrPtr(sInput) = 0 Or Len(sInput) = 0 Then 'Si on appuie sur Annuler ou sur Ok sans mot de passe
                    MsgBox "Opération annulée.", vbOKOnly, "Information"
     
                ElseIf sInput <> MotPasse Then 'Si le mot de passe n'est pas bon
                    MsgBox "Mot de passe non valide.", vbOKOnly + vbCritical, "Information"
                    GoTo On_Relance 'Mot de passe non valide on relance la boite de dialogue
                End If
            End Select
    Normalement, avec çà, tu seras tranquille.

    Cordialement

    Christophe

Discussions similaires

  1. Supprimer mot de passe sur BD Access 2007
    Par Line dans le forum Access
    Réponses: 1
    Dernier message: 08/04/2010, 21h11
  2. Mot de passe sur disque USB
    Par MJEFF dans le forum Windows XP
    Réponses: 7
    Dernier message: 30/09/2005, 15h39
  3. Mot de Passe sur un bouton de com. pour ouvrir un formulaire
    Par Droopynnette dans le forum Access
    Réponses: 1
    Dernier message: 29/09/2005, 11h38
  4. Pb de mot de passe sur un alias interbase
    Par dolzy dans le forum Bases de données
    Réponses: 4
    Dernier message: 21/09/2005, 22h53
  5. Mot de passe sur une carte à puce!?
    Par Le_Che dans le forum C++Builder
    Réponses: 13
    Dernier message: 20/05/2005, 10h37

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