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 :

messages sécurity warning


Sujet :

Sécurité

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut messages sécurity warning
    Bonjour c'est encore moi

    J' ai toujours comme surment nombre d'entre vous le message à l'ouverture d'access. (sécurity warning).

    Ma base s'ouvre directement sur un formulaire de démarage et tout au long du travail sur cette base on ne voit pas la fenêtre Access.

    Donc c'est un peu embêtant de voir apparaître cette fenêtre au début.

    J'ai vu sur la Faq et le forum ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Windows Registry Editor Version 5.00
     
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines]
    "SandBoxMode"=dword:00000002
     
    [HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Security]
    "Level"=dword:00000001
    J'aimerais savoir comment l'integrer à la base pour qu'il s'applique automatiquement sans passer par le menu macro ...ect, la base sera utilisée sur plusieurs postes et je ne vais pas m'amuser à baisser la sécurité access sur tous les postes

    Pour petre plus clair : dés la premiere ouverture la base ecrit dans le registre et l'utilisateur n'a rien à modifier.

    Merci pour vos réponse.

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    Tu peux écrire dans la base registre avec VBA en utilisant l'objet Shell de WScript.
    Code vb : 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
    Dim oSH As Object, regKey As String, regVal As Variant
     
    ' Crée l'objet Shell script
    Set oSH = CreateObject("WScript.Shell")
     
    'SandBox
    regKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SandBoxMode"
    regVal = oSH.RegRead(regKey)
    If regVal <> 2 Then
       oSH.RegWrite regKey, 2, "REG_DWORD"
    End If
     
    'Security Level
    regKey = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & _
             Application.SysCmd(acSysCmdAccessVer) & _
             "\Access\Security\Level"
    regVal = oSH.RegRead(regKey)
    If regVal <> 1 Then
       oSH.RegWrite regKey, 1, "REG_DWORD"
    End If
    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    je mets ce code sur un evenement particuler du formulaire de démarrage ou sur une macro autoexec.

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    Les deux options sont valables.
    De toutes façons la première fois que la base sera ouverte sur un poste il y aura les deux warnings.

    Sinon pour un formulaire : évènement Form_Open (Ouverture)

    A+

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    j'y arrive pas. J'explique ma façon je suis débutant.

    sur mon form de démarrage sur évenement ouverture je fais ça :

    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
    Private Sub Form_Open(Cancel As Integer)
    'Ici je récupère les valeurs X et Y d'origine de la résolution
    'et je les "sauvegarde" dans mes variables Public
    XOrigine = ResolX("resolution")
    YOrigine = ResolY("resolution")
    Dim oSH As Object, regKey As String, regVal As Variant
     
    ' Crée l'objet Shell script
    Set oSH = CreateObject("WScript.Shell")
     
    'SandBox
    regKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SandBoxMode"
    regVal = oSH.RegRead(regKey)
    If regVal <> 2 Then
       oSH.RegWrite regKey, 2, "REG_DWORD"
    End If
     
    'Security Level
    regKey = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & _
             Application.SysCmd(acSysCmdAccessVer) & _
             "\Access\Security\Level"
    regVal = oSH.RegRead(regKey)
    If regVal <> 1 Then
       oSH.RegWrite regKey, 1, "REG_DWORD"
    End If
    End Sub
    Quant je redemarre la base j'ai les 3 messages qui s'affichent et la base reste bloquée sur la fenêtre access : pas de message d'erreur rien pas de form non plus.

    2 eme façon je crée un module warning :
    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
    Option Compare Database
     
    Dim oSH As Object, regKey As String, regVal As Variant
     
    ' Crée l'objet Shell script
    Set oSH = CreateObject("WScript.Shell")
     
    'SandBox
    regKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SandBoxMode"
    regVal = oSH.RegRead(regKey)
    If regVal <> 2 Then
       oSH.RegWrite regKey, 2, "REG_DWORD"
    End If
     
    'Security Level
    regKey = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & _
             Application.SysCmd(acSysCmdAccessVer) & _
             "\Access\Security\Level"
    regVal = oSH.RegRead(regKey)
    If regVal <> 1 Then
       oSH.RegWrite regKey, 1, "REG_DWORD"
    End If
    Et une macro
    1-executer code
    2-générateur d'expression
    3-fonctions mabase
    4-warning mais là il n'y a pas de fonction qui s'affiche dans nom de la fonction.


    bref je m'en sors pas.

  6. #6
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    pour la première méthode:
    Je n'ai pas d'explication. J'essairai mercredi au boulot sur Access 2003.

    pour la deuxième méthode
    Il faut mettre le code dans une fonction pour qu'elles soit visible dans les expressions.
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function Warning()
    ' ... tu colles le code ici ...
    End Function
    A+

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    J'ai créé mon module Warning :
    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
    Public Function Warning()
    Dim oSH As Object, regKey As String, regVal As Variant
     
    ' Crée l'objet Shell script
    Set oSH = CreateObject("WScript.Shell")
     
    'SandBox
    regKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SandBoxMode"
    regVal = oSH.RegRead(regKey)
    If regVal <> 2 Then
       oSH.RegWrite regKey, 2, "REG_DWORD"
    End If
     
    'Security Level
    regKey = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & _
             Application.SysCmd(acSysCmdAccessVer) & _
             "\Access\Security\Level"
    regVal = oSH.RegRead(regKey)
    If regVal <> 1 Then
       oSH.RegWrite regKey, 1, "REG_DWORD"
    End If
    End Function
    Ensuite ma macro Autoexec

    Exécuter code

    Warning()

    j'ai l'erreur : l'expression entrée comporte un nom de fonction introuvable.

  8. #8
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    je viens de tester sur un PC avec Access 2003.

    L'entrée dans la base de regitre pour le niveau de sécurité est dans HKEY_LOCAL_MACHINE et non pas dans HKEY_CURRENT_USER.

    Voila le code que j'ai testé :
    Code vb : 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
    Dim oSH As Object, regKey As String, regVal As Variant
    ' Crée l'objet Shell script
    Set oSH = CreateObject("WScript.Shell")
    'SandBox
    regKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SandBoxMode"
    regVal = oSH.RegRead(regKey)
    If regVal <> 2 Then
       oSH.RegWrite regKey, 2, "REG_DWORD"
    End If
     
    If Val(Application.SysCmd(acSysCmdAccessVer)) < 10 Then GoTo ENDSUB
     
    'Security Level
    regKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\" & _
           Application.SysCmd(acSysCmdAccessVer) & _
           "\Access\Security\Level"
    regVal = oSH.RegRead(regKey)
    If regVal <> 1 Then
       oSH.RegWrite regKey, 1, "REG_DWORD"
    End If
     
    ENDSUB:
    A+

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    ça marche merci beaucoup par contre, il faut bien mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\" & _
           Application.SysCmd(acSysCmdAccessVer) & _
           "\Access\Security\Level"
    Encore merci à toi et à ce site

  10. #10
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Bonjour,
    désolé de ressortir un vieux post mais quelqu'un peut-il me donner la valeur d'origine de ces deux clés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines]
    "SandBoxMode"=dword:00000002
     
    [HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Security]
    "Level"=dword:00000001
    J'ai pas été malin car je les ai modifiées sans noter ou sauvegarder leurs anciennes valeurs. Du coup mon appli se lance directement sur le menu de démarrage et je ne peux plus modifier mes formulaires, etc.

    EDIT : J'ai trouvé
    Par défaut la première clé a pour valeur 3 au lieu de 2.
    Et la 2ème n'existe pas.

  11. #11
    Invité
    Invité(e)
    Par défaut Utilisation d'un batchfile, command line de regedit et fonction Shell en vba
    Je sais que ce message date de 2007, mais je voulais vous partager la technique que j'ai privilégié (après quelques heures de recherche !). Je voulais contourner l'avis de sécurité dans le runtime 2007.

    J'ai créé 2 fichiers:

    Fichier registre (AccessRuntime2007.reg).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Windows Registry Editor Version 5.00
     
    [HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security]
    "VBAWarnings"=dword:00000001
     
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Office\12.0\Access Connectivity Engine\Engines]
    "SandboxMode"=dword:00000002
    Fichier batchfile (AccessRuntime2007.bat)
    Regedit peut fonctionner en command line ! (/s pour silencieux)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    regedit /s c:\AccessRuntime2007.reg
    Ensuite, dans Access, j'utilise la fonction Shell qui va exécuter le fichier AccessRuntime2007.bat silencieusement aussi).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "c:\AccessRuntime2007.bat", vbHide
    En espérant que cette technique sera vous épargner temps et mot de tête.

    Jonathan

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/02/2008, 16h42
  2. Message "Security Warning" à l'ouverture d'access
    Par Tintou dans le forum Access
    Réponses: 11
    Dernier message: 05/07/2007, 08h16
  3. message de warning sur session_start
    Par steave dans le forum Langage
    Réponses: 12
    Dernier message: 29/03/2007, 10h26
  4. Message de warning OCI à l'ouverture de Toad ?
    Par elitost dans le forum Toad
    Réponses: 3
    Dernier message: 31/08/2006, 11h04
  5. Message: Security Warning
    Par ENIT-Info dans le forum Access
    Réponses: 7
    Dernier message: 31/01/2006, 21h16

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