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

IHM Discussion :

Interdire la fermeture (croix) d’une application Access. [AC-2016]


Sujet :

IHM

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Interdire la fermeture (croix) d’une application Access.
    bonjour à toutes et à tous,
    D'abord un grand merci à tous pour vos contributions à résoudre les problèmes des développeurs en herbe et même confirmés. J'ai très souvent eu recours aux FAQ , en silence, car elles sont riches de réponses.. C'est important de le dire.
    Mon ticket concerne un problème récurrent sous Access 2003 et actuellement Access 2016. J'ai deux bases de données qui utilisent les mêmes références (ocx, dll etc). J'ai un module de classe qui me permet de gérer l'activation ou non de la croix de fermeture d'Access, ceci fonctionne très bien sur une base et sur l'autre j'ai un message d'erreur à la compilation "membre de méthode ou de données introuvable" . J'utilise la lib "user32" et sur une base la ligne Application.hWndAccessApp est en erreur. Le problème était identique sous Access 2003.
    Si quelqu'un a une idée lumineuse je suis preneur. Si une solution XML existe (j'ai déjà un ruban perso en XML basé sur customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"
    merci d'avance pour votre réponse

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bonjour,
    Je viens de tester le code de https://www.fmsinc.com/microsoftacce...eventclose.asp
    Ca marche bien et c'est très simple (et c'est une bonne source !)

    CDLT
    "Always look at the bright side of life." Monty Python.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par micniv Voir le message
    Bonjour,
    Je viens de tester le code de https://www.fmsinc.com/microsoftacce...eventclose.asp
    Ca marche bien et c'est très simple (et c'est une bonne source !)

    CDLT

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut rien n'y fait ...
    merci pour ce lien, mais rien n'y fait...
    Il fonctionne très bien sur une base mais j'ai le même message d'erreur sur l'autre base à la compilation ..
    à la ligne Application.hWndAccessApp
    Le code que j’utilisais était très proche .

  5. #5
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    mais j'ai le même message d'erreur sur l'autre base à la compilation
    donc il y a un pb de code ou de reference sur cette autre base ...
    "Always look at the bright side of life." Monty Python.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut désolé je ne pense pas
    j'ai utilisé le même code... copier coller...
    j'ai édité par une procédure vba toutes les références de chaque base.. elle sont strictement les mêmes et pointent bien sur les mêmes ressources..
    j'en perd mon latin lol ...

  7. #7
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut,
    32 ou 64bits ?
    Quelle bdd est affectée par le problème ? 2003 ou 2016 ?
    Quel code utilises-tu ?
    As-tu lu cet article ?

    EDIT : Dans ton 1er post tu indiques avoir coller la proc dans un "module de classe". Par contre sur fmsinc, techonthenet, etc. il est indiqué de la coller dans un "module standard".
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut toujours pas de solution lol..
    Bonjour,
    le problème date effectivement .. il était présent sous 2003 et persiste sous 2016 (je viens de faire la migration je ne suis pas passé par la phase 2007-2010 -2013).
    les apllis tournent sous office 32 et sur des Windows 32 et/ou 64 bits..
    rien n'y fait .. évidement les ressources références ont changées .. ci joint l'état des références sur un pc 64 bit et access 2016.
    mon premier code était sur un module de classe. j'ai mis le second préconisé par micniv dans un module standard .. en fait les codes (le mien celui de l'article de thogal ou celui proposé par micviv sont identiques "enfin presque" )
    Images attachées Images attachées

  9. #9
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bonjour,
    juste pour préciser que c'était bien dans un module standard qu'il fallait copier le code. Et que je n'ai testé qu'avec un Access 2010 32 (sur win10 64 et win7 64).
    A la compil, tout se passe bien ?
    Alors peut-être une anomalie avec ACC 2016 ?
    "Always look at the bright side of life." Monty Python.

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut je ne vois pas..
    j'ai bien copié le dernier code dans un module standard..
    sur une base c'est ok sur l'autre erreur...
    à mon avis rien à voir avec 2016 car le problème existait déjà sous 2003 et pourquoi sur une base et pas l'autre??
    certainement les mystères de Microsoft ... mais cela ne me satisfait pas
    De plus j'ai 6 autres bases qui utilisent ce code sous 2016 et sans aucune erreur à la compilation

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut petit complément
    Je pense vraiment que cela vient d'un mic-mac entre les références et Windows..
    Bon j'en remets une couche..
    Je viens de m’apercevoir qu'une requête, sur la base sans erreur de compil, ne fonctionne plus.
    C'est une requête ajout et un champ est calculé ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coef: IIf(Trim([JN_MAJ])="J",0.5,IIf(Trim([JN_MAJ])="na",0,IIf(Trim([JN_MAJ])="T",1,0.5)))...
    un petit message sympa me dit "fonction non disponible dans les expression dans l’expression..."
    cette même requête fonctionne très bien dans l'autre base... lol
    avec évidement la bonne traduction en français .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coef: VraiFaux(SupprEspace([JN_MAJ])="J";0.5;VraiFaux(SupprEspace([JN_MAJ])="na";0;VraiFaux(SupprEspace([JN_MAJ])="T";1;0.5)))..
    Bon en SQL elle est évidement en anglais.
    Si je copie la formule en français dans la requête qui plante .. le message devient impossible d'utiliser la fonction dans cette expression.. c'est SupprEspace ou trim qui plante..
    Si dans un code vba j'utilise Trim pas de problème de compil
    Si j'utilise dans un nouvelle requête l’accès aux fonctions intégrées ...texte... SupprEspace..
    he ben boum même problème le message est "impossible d'utiliser la fonction dans cette expression" lorsque je valide le champ de cette nouvelle requête.

    j'en rigole ... il faut donner un peu de piquant à cette nouvelle année

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 225
    Points : 553
    Points
    553
    Par défaut Voici un code qui marche
    Salut à toutes et tous et bonne année 2019,

    Voici le code que j'ai placé dans un module, il s'exécute au démarrage de la BD.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Sub DesacFermeture() 'Grise la croix quitter d'access
        Dim hSysMenu As Long
       On Error GoTo DesacFermeture_Error
     
        hSysMenu = GetSystemMenu(Application.hWndAccessApp, False)
        RemoveMenu hSysMenu, SC_CLOSE, MF_BYCOMMAND
     
       On Error GoTo 0
       Exit Sub
     
    DesacFermeture_Error:
     
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure DesacFermeture of Module Démarrage"
    End Sub
    A+

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut même code même résultat
    merci mais...
    Ce code est identique aux divers tests déjà réalisés (je l'utilise également depuis Access 97). Il fonctionne sur 7 BD mais pas sur une ... d'où la discussion...
    Concernant le problème lié à l’interprétation de ma requête c'est réglé .. là je n'avais pas repositionné correctement une référence en terme de niveau de priorité (après des tests de modif de références pour régler mon problème initial)..
    je reste ouvert à d’autres suggestions ...

  14. #14
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Peux-tu joindre ta base vidée de ses données si tu veux un regard extérieur ...

    CDLT
    "Always look at the bright side of life." Monty Python.

  15. #15
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    Peut-on supposer que le problème affecte une machine (PC) et la version Acc2016 qui y est installée dessus.
    Alors pourquoi ne pas créer une bdd vide, d'y importer l'ensemble des objets qui composent la bdd défaillante et d'observer son comportement ?
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut tout remarche .... mystère
    Bonjour et merci pour tous vos conseils..
    A priori le problème est réglé. Je suis reparti d'une base vierge et j'y ai importé ou lié tous les éléments de ma base qui posait problème (je l'avais déjà fait avant) .. résultat idem .. Donc j' ai testé une nouvelle base vierge en important les modules et quelques tables de la base qui ne posait pas de problème... j'ai testé la compilation tout était ok.. j'ai donc supprimé les éléments importés et sur cette base importé les éléments de la base qui pose problème et là miracle la compilation est ok..
    Je ne m'explique pas mais le résultat est là..

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 09/03/2023, 08h57
  2. interdire la fermeture de l'application
    Par yuriyan dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/11/2012, 18h37
  3. Réponses: 1
    Dernier message: 26/09/2009, 01h41
  4. problème fermeture application Access
    Par darkspoilt dans le forum VBA Access
    Réponses: 9
    Dernier message: 30/11/2007, 20h27
  5. Gestion d’Un Msgbox dans la Fermeture d’une application
    Par hoummass dans le forum Windows Forms
    Réponses: 5
    Dernier message: 25/11/2005, 16h44

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