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 :

Annuler la sortie d'un enregistrement


Sujet :

IHM

  1. #1
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut Annuler la sortie d'un enregistrement
    Bonjour,

    Je cherche à empêcher de quitter un enregistrement dans un formulaire si une condition n'est pas remplie dans le sous-formulaire qui en dépend.

    Pour empêcher la fermeture, j'ai trouvé en utilisant l'évènement Sur libération comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Unload(Cancel As Integer)
        If Me.frm_SPE_lst.Form.Verif = 0 Then
            Cancel = True
            MsgBox "Pas bien !"  'A compléter...
        End If
    End Sub
    par contre je sèche pour empêcher le passage d'un enregistrement à l'autre, l'évènement Sur activation ne possède pas de "caractéristique" Cancel As Integer.

    Une petite idée ?

  2. #2
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    En complément, je pourrai dire que je cherche à traiter un évènement Sur changement d'enregistrement ... mais qui n'existe pas sur Access 2000 !

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 155
    Points : 196
    Points
    196
    Par défaut
    Bonjour,

    As-tu essayé l'événement BeforeUpdate (avant mise à jour) ?

  4. #4
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    Oui, j'ai essayé sur l'évènement BeforeUpdate du formulaire . Je ne sais pas pourquoi cela ne fonctionne pas !

    J'ai également essayé de gérer l'évènement BeforeUpdate du sous-formulaire : c'est pas mieux !

    Une solution consisterait à créer des boutons de navigation et de gérer les évènements, mais cela ne me plait guère...

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 155
    Points : 196
    Points
    196
    Par défaut
    Bonjour,

    Je reviens vers toi après quelques essais.

    L'événement BeforeUpdate n'est détecté que si l'on a modifié (ou fait semblant de modifier) une donnée dans le formulaire, bref que si le formulaire est Dirty. Dans ce cas je peux t'assurer que ça marche. Peut être devrais-tu inverser le Cancel = True et le MsgBox ... dans ton code.

    Si tu veux que BeforeUpdate soit toujours détecté, il faut rendre le formulaire Dirty de façon artificielle. Par exemple, dans Form_Current. Ce code (pas très élégant) fonctionne dans Form_Current :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me(un contrôle quelconque).SetFocus
    Me.Dirty = True
    Avec ce stratagème, BeforeUpdate est toujours détecté.

  6. #6
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour et merci de ton aide Alain36,

    J'avais pensé à cet méthode mais j'avais calé car je faisais le setfocus sur une liste déroulante.

    Effectivement, cela fonctionne... tant que l'utilisateur n'appuie pas sur le sélecteur !

    Par défaut, j'ai recréé un système de boutons de déplacement... mais je cherche toujours !

  7. #7
    Membre habitué

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 155
    Points : 196
    Points
    196
    Par défaut
    Bah! Tu n'as peut-être pas besoin d'afficher le sélecteur...

  8. #8
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    Après maintes réflexions, faute d'avoir une solution optimisée à 100%, je vais passer par la création de nouveaux boutons de déplacement.

    Merci de ton aide Alain36.


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

Discussions similaires

  1. Annuler le plein écran en sortie de fichier et message d'enregistrement
    Par nono95200 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/12/2014, 18h15
  2. Réponses: 5
    Dernier message: 09/08/2011, 13h23
  3. [AC-2003] Annuler ou Supprimer un nouvel enregistrement
    Par jax54000 dans le forum VBA Access
    Réponses: 7
    Dernier message: 11/04/2010, 19h02
  4. Réponses: 1
    Dernier message: 19/12/2006, 09h13
  5. annulation d'enregistrement
    Par Yves2507 dans le forum Access
    Réponses: 2
    Dernier message: 23/11/2005, 22h34

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