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 :

Cacher des requêtes dans le volet Ojet [AC-2016]


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 224
    Points : 544
    Points
    544
    Par défaut Cacher des requêtes dans le volet Ojet
    Bonjour à tous,

    J'en profite que je suis en chômage forcé pour revoir un peu mon appli.
    J'ai donc une appli qui suivant si on est admin ou user peu afficher les objets de la BD.
    Je voudrais pouvoir cacher le noms de certaines requêtes, forms, etc même pour les admin afin qu'ils ne puissent pas ouvrir et modifier mes requêtes et forms par inadvertance, mais en laissant les requêtes qu'ils auraient créées visibles

    Je ne sais pas si c'est possible, ou alors les empêcher de les modifier, en exécutant un code VBA au démarrage de l'appli.

    Merci

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Exploiter ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Application.GetHiddenAttribute acQuery,"xyz"    'Pour savoir si l'objet est caché ou pas !
    Application.SetHiddenAttribute acQuery,"xyz", True    'Pour cacher l'objet !
    Mais un utilisateur averti peut trouver la faille; Il faut donc agrémenter le code d'un mot de passe solide.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 224
    Points : 544
    Points
    544
    Par défaut
    Salut,

    Exactement cela.

    Merci

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    Si vous donnez une version .accde de votre application, les utilisateurs ne pourront rien y modifier, sauf les requêtes. Ils leur est encore possible d'ajouter des tables et des requêtes, mais rien d'autre (qu'ils perdront s'ils font une "mise à jour" de votre application). Pour absolument éviter qu'ils modifient les requêtes il faut donc les mettre dans le code, soit au niveau des macros, soit sous forme SQL dans les contenus (RecordSource) des objets concernés. Les requêtes non enregistrées n'étant pas optimisées, cela fait sans doute perdre un peu en temps d'exécution, mais c'est souvent non perceptible.

    Cordialement.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 224
    Points : 544
    Points
    544
    Par défaut
    Re,

    Je voudrais aller plus loin

    Je voudrais par code vba pouvoir cocher ou décocher les cases qui se trouvent dans Fichier/Options/Base de données actives/Navigation/Options de navigation/Option d'affichage
    les 2 cases qui sont : Afficher les objets masqués et Afficher les objets système

    C'est pour automatiser tous cela quand je fais une màj de l'appli.

    Merci

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 224
    Points : 544
    Points
    544
    Par défaut
    Salut EricDgn,

    Mon appli est bien protégée pour les Users, ils n'ont pas accès aux Objets, l'appli fonctionne sans qu'ils aient à y toucher.
    Le problème c'est pour le Boss qui veut pouvoir faire des requêtes comme il veut, dès lors je préfère protéger tous les Objets que j'ai créés en les masquant pour éviter qu'il n'efface ou modifie une requête ou form ou table.
    De plus en faisant cela seul les Objets qu'il aura créé seront visible.

    Merci

  7. #7
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    Méthodes pour voir/gérer les options:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub ShowHide()
        Dim blnHidden As Boolean
        Dim blnSystem As Boolean
        '--- voir la situation actuelle
        blnHidden = Application.GetOption("Show Hidden Objects")
        blnSystem = Application.GetOption("Show System Objects")
        Debug.Print "blnHidden: "; blnHidden, "blnSystem: "; blnSystem
        '--- true = afficher, false = masquer
        blnHidden = False
        blnSystem = False
        Application.SetOption "Show Hidden Objects", blnHidden
        Application.SetOption "Show System Objects", blnSystem
        Debug.Print "blnHidden: "; blnHidden, "blnSystem: "; blnSystem
    End Sub
    Bonne continuation.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 224
    Points : 544
    Points
    544
    Par défaut
    C'est exactement ça
    L'appli est plus claire sans tous les Objets.

    Merci

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/01/2007, 05h24
  2. Cacher des parametres dans l'URL method="get"
    Par ProgElecT dans le forum Langage
    Réponses: 8
    Dernier message: 09/12/2006, 22h40
  3. Cacher des éléments dans une zone de liste
    Par toto10 dans le forum IHM
    Réponses: 11
    Dernier message: 19/07/2006, 15h03
  4. Écrire des requêtes dans le modèle relationnel
    Par Paulinho dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/12/2005, 19h41
  5. Comment cacher des propriétés dans un nouvel objet ?
    Par Pedro dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/10/2003, 18h53

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