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 :

Fermer l'application quand mon formulaire passe en mode création


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 031
    Billets dans le blog
    45
    Par défaut Fermer l'application quand mon formulaire passe en mode création
    Bonjour

    Ma question est basique mais comment procéder pour quitter l'application quand un formulaire (option fenêtre modale) est passé du mode formulaire à mode création/page?

    Merc par avance

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 128
    Par défaut
    Bonjour,

    J'imagine que c'est pour empêcher des modifs par les utilisateurs ? Si oui il est possible de bloquer toute modification avec ces instructions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CurrentDb.Properties("StartupShowDBWindow") = false
    CurrentDb.Properties("AllowShortcutMenus") = false
    CurrentDb.Properties("AllowFullMenus") = false
    CurrentDb.Properties("AllowBuiltinToolbars") = false
    CurrentDb.Properties("AllowToolbarChanges") = false
    CurrentDb.Properties("AllowBreakIntoCode") = false
    CurrentDb.Properties("AllowBypassKey") = false
    Attention à bien prévoir un bouton de "marche arrière" (visible seulement par les administrateurs) car sinon le programme devient impossible à modifier

    Une autre solution consiste à ne mettre qu'un runtime sur les PC concernés

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 031
    Billets dans le blog
    45
    Par défaut
    Bien vu Nico84 et merci pour ta solution mais j'ai toujours la hantise d'un cas non pris en compte avec cette méthode, alors j'applique une solution encore plus radicale, la fermeture forcée de l'application par l'appel à l'API apiPostMessage. !!!

    Sachant en plus que mon formulaire est en mode modale et reste toujours ouvert car c'est un formulaire de navigation !!! Ça borde un max !!!
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Private Const WM_CLOSE = &H10
    Private Const INFINITE = &HFFFFFFFF
     
    Private Declare Function apiPostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long,  ByVal wParam As Long,  lParam As Any) As Long
     
    Private Sub Form_Unload(Cancel As Integer)
     
       Dim lhWnd As Long, lngRet As Long
     
        DoCmd.SetWarnings False
        lhWnd = Application.hWndAccessApp
        lngRet = apiPostMessage(lhWnd, WM_CLOSE, 0, ByVal 0&)
     
    End Sub

    C'est comme le petit lapin de la RATP, faut faire attention sinon tu vas te faire pincer les doigts très très fort !!!

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 137
    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 137
    Par défaut
    Bonjour,

    Avec une compilation accde plus personne ne peut passer en mode création.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 031
    Billets dans le blog
    45
    Par défaut
    Bonjour loufab,

    Tu as raison mais il est encore possible de fermer les formulaires clic droit et permettre l'accès aux aux tables et requêtes , ce que je veux absolument interdire sans me poser de question sur une option que j'aurai oublié de mettre à faux !

    C'est radical mais efficace


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

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/06/2011, 12h00
  2. [AC-2007] Ouvrir Formulaires/Etats en mode création via VBA
    Par Jaako H. dans le forum Runtime
    Réponses: 4
    Dernier message: 13/12/2010, 13h42
  3. Réponses: 4
    Dernier message: 05/01/2008, 23h39
  4. Réponses: 9
    Dernier message: 18/06/2007, 01h25
  5. Réponses: 7
    Dernier message: 26/04/2007, 12h04

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