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

Sécurité Discussion :

Interdire le click droit dans toute ma base de données [AC-2010]


Sujet :

Sécurité

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 74
    Points : 57
    Points
    57
    Par défaut Interdire le click droit dans toute ma base de données
    Bonsoir,

    Mon titre résume bien mon problème. J'ai un formulaire principale qui souvre au démarage et qui permet d'ouvrir un grand nomvre de formulaire. J'aimerais qu'au lancement de l'appli le clic droit soit interdit partout. Je souhaite mettre un bouton dans le formulaire principale, reservé à l'admin qui lui permettrait de disposer lui du clic droit si l'envie lui ne prenait.
    J'ai bien compris qu'avec la syntaxe ci dessous je pouvais interdire ou permettre le clic droit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Me.ShortcutMenu = False
    Me.ShortcutMenu = True
    Cependant je ne veux pas avoir à le faire dans chaque formulaire.

    J'aimerais un code (à mettre dans un modue du style)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Public Sub AdminView()
        [Forms]![frm1].[Form].ShortcutMenu = True
        [Forms]![frm2].[Form].ShortcutMenu = True
        ..... (tous mes formulaire et sous formulaire)
    End Sub
     
    Public Sub UserView()
        [Forms]![frm1].[Form].ShortcutMenu = False
        [Forms]![frm2].[Form].ShortcutMenu = False
        .....
    End Sub

    Malheureusement ça ne marche pas car la majorité de mes formulaires ne seraient pas ouverts au lancement de la fonction.

    N'y aurait il pas un moyen pour interdire ou autoriser le clc droit partout. Ou alors une solution qui ressemblerait un peu à ce que j'ai proposé mais qui marcherait ?

    Merci d'avance

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Le code ci-dessous va passer dans tous les formulaires et autoriser ou empécher le menu contextuel.

    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
     
    private sub AutoriserClickDroit(prmEstAutorise as boolean)
       dim f as form
     
       dim ao as AccessObject:for each ao in currentproject.allforms
     
          if currentproject.allforms(ao.name).islaoded then
               domcd.close acForm, ao.name
          end if
     
          docmd.openform ao.name, acDesignView
          set f=forms(ao.name)
          f.ShortcutMenu = prmEstAutorise
          docmd.close acForm, f.name, acSaveYes 'Je ne suis pas sur de la syntaxe
     
       next ao
    end sub
    Si tu veux que ce soit dynamique tu peux mettre dans l'événement Open de chaque formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call AutoriserClickDroit(me)
    À mettre dans un module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public sub AutoriserClickDroit(prmForm as form)
        me.ShortcutMenu = EstAdmin()
    end if
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 74
    Points : 57
    Points
    57
    Par défaut
    Un grand merci a toi margot_r !

    Le seul hic de ce code (solution number one), c'est que c'est super lourd ! Avec le nombre elevé de formulaire dont jje sipose il met bien 1 minute a terminer la procédure !

    Enfin qu'est ce que 1 minute......

    juste pour les perfectionniste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    DoCmd.OpenForm ao.Name, acDesign, , , , acHidden
    Pour empecher que l'on voit plein de fenêtre s'ouviri puis ce fermer !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/02/2012, 16h37
  2. [MySQL] Moteur de recherche qui recherche un champ dans toute ma base de données
    Par mademoizel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/12/2010, 12h28
  3. Interdire l'utilisation du click droit dans tout le document
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/03/2009, 15h58
  4. Réponses: 3
    Dernier message: 21/01/2008, 11h55

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