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 :

Bloquer la modificatin des formulaire et du code [AC-2003]


Sujet :

Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    423
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 423
    Points : 155
    Points
    155
    Par défaut Bloquer la modificatin des formulaire et du code
    Bonjour,

    Je développe avec Access 2003 sous Windows XP Pro.

    Je souhaiterais interdire la modification des formulaires et interdire la modification du code.
    Entre autre, verrouiller l'option "Création de formulaire" du menu contextuel.
    Par contre je souhaiterais conserver les options "Filtre, tri, .. " du menu contextuel.

    J'ai pensé au mode MDE, mais ce dernier bloque l'option "filtre".

    Ci-joint, les paramètres de démarrage :


    Si quelqu'un à une idée, merci d'avance

    Willy
    Images attachées Images attachées  

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 043
    Points : 24 624
    Points
    24 624
    Par défaut
    Bonjour,
    Avec la version 2003 il y a encore la sécurité utilisateur : lire et bien comprendre le tuto sur la sécurité. http://loufab.developpez.com/tutoriels/access/securite/

    Attention : faire des sauvegardes avant de commencer.

    Tu peux la placer sur les formulaires et états. Et compléter par un mot de passe sur VBA.

    Cordialement,

  3. #3
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Pour ma part, je procède de cette façon, je crée un module qui contient les fonctions suivantes :
    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
    Function SetBypassProperty()
    Const DB_Boolean As Long = 1
        ChangeProperty "AllowBypassKey", DB_Boolean, False
    End Function
     
    Function UnSetBypassProperty()
    Const DB_Boolean As Long = 1
        ChangeProperty "AllowBypassKey", DB_Boolean, True
    End Function
     
    Function ChangeProperty(strPropName As String, varPropType As Long, varPropValue As Variant) As Integer
        Dim dbs As database, prp As Variant
        Const conPropNotFoundError = 3270
        Set dbs = CurrentDb
        On Error GoTo Change_Err
        dbs.Properties(strPropName) = varPropValue
    Change_Bye:
        Exit Function
    Change_Err:
        If err = conPropNotFoundError Then    ' Propriété non trouvée.
        Set prp = dbs.CreateProperty(strPropName, _
        varPropType, varPropValue)
        dbs.Properties.Append prp
        Resume Next
    Else
      ' --Erreur inconnue.
      Resume Change_Bye
    End If
    End Function
    Ensuite sur un formulaire qui se lance au démarrage, je saisie au chargement du formulaire les commandes suivantes :
    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 Form_Load()
        SetBypassProperty
        Dim Valeur As Variant
        DoCmd.ShowToolbar "menu bar", acToolbarNo
        DoCmd.ShowToolbar "Form View", acToolbarNo
        DoCmd.ShowToolbar "Web", acToolbarNo
        DoCmd.ShowToolbar "Formatting (Form/Report)", acToolbarNo
        DoCmd.ShowToolbar "Print Preview", acToolbarNo
        DoCmd.ShowToolbar "Toolbox", acToolbarNo
        If SysCmd(acSysCmdAccessVer) >= "12.0" Then
            DoCmd.ShowToolbar "Ribbon", acToolbarNo
            DoCmd.RunCommand acCmdWindowHide
        End If
        DoCmd.ShowToolbar "Nom de la barre d'outils que je veux faire apparaître", acToolbarYes
        DoCmd.Maximize
    End Sub
    Et sur ce formulaire je n'oublie pas de rajouter la commande suivante sur un texte, un champ, une image...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Étiquette_DblClick(Cancel As Integer)
        UnSetBypassProperty
    End Sub
    Il faut une première fois ouvrir l'application, ce qui permettra d'activer la fonction "SetBypassProperty" et qui aura pour effet de neutraliser la fonction SHIFT au démarrage. Pour la rendre à nouveau active, il faudra lancer la commande contenant la fonction "UnSetBypassProperty".

    @+.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    423
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 423
    Points : 155
    Points
    155
    Par défaut Résolu
    Bonjour,

    J'ai résolu mon problème en visitant ce lien : http://starec.developpez.com/tuto/barrecommande/

    Pour désactiver le menu contextuel : création formulaire, il suffit d'utiliser le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CommandBars(88).Enabled = False
    Willy

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

Discussions similaires

  1. [OL-2010] Création par code VBA des formulaires flottants
    Par metramo dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 10/01/2013, 09h50
  2. [2.x] bloquer l'édition des inputs d'un formulaire?
    Par keokaz dans le forum Symfony
    Réponses: 2
    Dernier message: 04/06/2012, 17h34
  3. Réponses: 1
    Dernier message: 02/01/2012, 09h05
  4. extraire des données d'un code HTML
    Par blueice dans le forum Langage
    Réponses: 5
    Dernier message: 19/08/2004, 19h41
  5. [jsp]controles des formulaires servlet ou javascript ?
    Par alexandra_ape dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 05/07/2004, 14h46

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