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

Discussion: volet de navigation [AC-2013]

  1. #1
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 972
    Points : 1 319
    Points
    1 319
    Billets dans le blog
    1

    Par défaut volet de navigation

    Bonjour
    Avec un fichier accde on peut modifier les tables, les requêtes et les macros. Mon problème c'est que je ne voudrais pas que l'utilisateur modifie quoique ce soit. Je me suis dit que je dois chiffrer la base avec le mot de passe, mais alors pour qu'il puisse utiliser l'application il lui faut ce mot de passe et par conséquent il pourra faire des modifications. NB: La base n'est pas fractionnée.
    J'ai donc pensé à vérrouiller le volet de navigation. Alors j'ai essayé avec la macro pour vérrouiller celui-ci avec le fameux code qui désactive la touche F11.
    Le problème c'est qu'en le faisant l'utilisateur peut accéder au menu fichier et réactiver le volet.
    Alors comment puis-je résoudre ce problème?

    Pensons à améliorer nos compétences en toute humilité car aucune oeuvre faite par un humain n'est parfaite!!!

  2. #2
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    novembre 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : novembre 2007
    Messages : 902
    Points : 1 268
    Points
    1 268

    Par défaut

    Bonjour

    Une méthode avec 2 bases
    1 - Protéger ta base accde par un mot de passe : complètement hermétique, on ne peut y accéder qu'avec le mot de passe, mais non diffusé.
    2 - créer une base de démarrage en accde qui ne contient qu'une macro Autoexec et une Function d'ouverture de l'autre base avec le mot de passe dans le code. (En accde le mot de passe n'est pas lisible)

    Titi95
    Un problème bien posé est à moitié résolu

  3. #3
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 972
    Points : 1 319
    Points
    1 319
    Billets dans le blog
    1

    Par défaut

    Çà me plait bien cette méthode. Elle semble vraiment répondre à ce que je veux faire.
    A quoi ressemble cette fonction d'ouverture avec mot clé passe?

    Pensons à améliorer nos compétences en toute humilité car aucune oeuvre faite par un humain n'est parfaite!!!

  4. #4
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    novembre 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : novembre 2007
    Messages : 902
    Points : 1 268
    Points
    1 268

    Par défaut

    Tu crées une base qui ne sert qu'à l'ouverture de la principale,
    avec une macro Autoexec qui ouvre la Function suivante que tu mets dans un module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function BaseOuverture()
        Dim objAccess As Access.Application
        Set objAccess = CreateObject("Access.Application")
        objAccess.OpenCurrentDatabase "CheminCompletBaseàOuvrir", False, "MotDePasseDeLaBaseàOuvrir"
     
        Dim Début, Fin As Long
        Début = Timer
        Fin = 5 'secondes
        Do While Timer < Début + Fin
            DoEvents 'pour rendre la main au systeme
        Loop
     
        Application.Quit
    End Function
    Un problème bien posé est à moitié résolu

  5. #5
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 972
    Points : 1 319
    Points
    1 319
    Billets dans le blog
    1

    Par défaut

    Comment insérer un chemin relatif dans ce cas là? Les deux fichier étant dans le même dossier.
    J'ai essayé ceci
    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
    Function BaseOuverture()
        Dim objAccess As Access.Application
        Dim monchemin As String
        monchemin = CurrentProject.Path & "\mon_fichier.accde"
        Set objAccess = CreateObject("Access.Application")
        objAccess.OpenCurrentDatabase monchrmin, False, "blablabla"
     
        Dim Début, Fin As Long
        Début = Timer
        Fin = 5 'secondes
        Do While Timer < Début + Fin
            DoEvents 'pour rendre la main au systeme
        Loop
     
        Application.Quit
    End Function
    Mais erreur 7866

    Pensons à améliorer nos compétences en toute humilité car aucune oeuvre faite par un humain n'est parfaite!!!

  6. #6
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    novembre 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : novembre 2007
    Messages : 902
    Points : 1 268
    Points
    1 268

    Par défaut

    Bonjour

    Erreur 7688 : base inexistante ou déjà ouverte...
    Base (à ouvrir) bien fermée ?

    Fais un nouvel essai après avoir corrigé ton code : monchemin au lieu de monchrmin dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objAccess.OpenCurrentDatabase monchemin, False, "blablabla"
    Un problème bien posé est à moitié résolu

  7. #7
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 972
    Points : 1 319
    Points
    1 319
    Billets dans le blog
    1

    Par défaut

    C'est ok. C'était vraiment une petite erreur de saisie qui passait inaperçue. C'est exactement ce que je voulais.
    Grand merci pour ce coup de pouce.

    Pensons à améliorer nos compétences en toute humilité car aucune oeuvre faite par un humain n'est parfaite!!!

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

Discussions similaires

  1. [AC-2007] masque volet de navigation
    Par popofpopof dans le forum VBA Access
    Réponses: 6
    Dernier message: 18/06/2009, 23h38
  2. Réponses: 5
    Dernier message: 10/03/2009, 11h37
  3. runtimes 2007 pb volet de navigation
    Par popofpopof dans le forum Access
    Réponses: 2
    Dernier message: 30/07/2007, 07h07
  4. Masquer le volet de navigation
    Par soso78 dans le forum Access
    Réponses: 3
    Dernier message: 12/06/2007, 00h14
  5. Réponses: 3
    Dernier message: 29/03/2007, 20h11

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