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 :

Quitter un formulaire


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut Quitter un formulaire
    Bonsoir à tous,
    J'ai un formulaire sur lequel il y a un bouton "Annuler / Quitter" qui permet de quitter le formulaire sans enregistrer avec la fonction undo.
    Mon problème est que ça ne fonctionne pas si un champ avec masque de saisie n'est pas respecté ( j'ai un message d'erreur: La valeur entrée n'est pas appropriée au masque....) et je dois appuyer sur echap pour que ça marche.. Or je voudrais que l'utilisateur puisse quitter le formulaire à tout moment.
    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 30
    Par défaut
    Bonjour,

    Peut-être peux-tu essayer de neutraliser les messages d'erreur avec la commande :

  3. #3
    Membre chevronné Avatar de Tonioyo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 343
    Par défaut
    A mon avis la solution serrai d'annuler la modification en cours de la nouvelle ligne avant de faire le docmd.undo, ce qui sous entends de récupérer le recordset et d'essayer d'annuler les modifs en cours. Je pense par exemple a la fonction cancelupdate d'un recorset voir aussi les propriétés lastmodified / lastupdated.

  4. #4
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Citation Envoyé par NaïsMouart Voir le message
    Bonjour,

    Peut-être peux-tu essayer de neutraliser les messages d'erreur avec la commande :
    La santaxe ne serait-elle pas plutot ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Docmd.SetWarnings False
    Mais je doute que cela corresponde au problème.

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

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 406
    Par défaut
    Bonjour tout le monde, salut mout1234

    vinystic : peux-tu nous montrer ton code d'annulation ?
    Qui plus est, tu peux toujours utiliser SendKeys pour simuler la touche Echapp. (c'est pas super mais si ne trouves pas mieux, le résultat sera là !).

    A+

  6. #6
    Expert confirmé
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Par défaut
    Bonsoir,

    @Gabout

    Sendkeys ? Pas terrible, comme tu le relèves très justement...

    @vinystic

    Je viens de faire un test, ça ne pose semble-t-il aucun problème...

    Le code (dixit Gabout) et peut-être des précisions sur le contexte, ce serait bien...

    Domi2

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Par défaut
    bonjour,

    il faut passer par l'évenement error du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Form_Error(DataErr As Integer, Response As Integer)
       'Erreur : Valeur entrée <> du masque => annulation saisie
       If DataErr = 2279 Then
          Me.ActiveControl.Undo
          Response = acDataErrContinue
       'Erreur : Fermeture du formulaire sans sauvegarde des modifications
       ElseIf DataErr = 2169 Then
          Response = acDataErrContinue
       End If
    End Sub
    Le problème avec un bouton perso, c'est qu'il faut cliquer deux fois dessus pour fermer le formulaire si on est en édition sur un champ (une fois pour undo et une fois pour quitter)...
    La croix de fermeture du formulaire permet quant à elle de le fermer directement même si une édition est en cours.

    Philippe

Discussions similaires

  1. Quitter un formulaire avec confirmation.
    Par s.gallauziaux dans le forum IHM
    Réponses: 2
    Dernier message: 17/05/2008, 08h12
  2. Quitter un formulaire lors de son chargement
    Par Asoif dans le forum VB.NET
    Réponses: 6
    Dernier message: 30/01/2008, 16h27
  3. Quitter un formulaire SANS enregistrer
    Par JenTry dans le forum IHM
    Réponses: 3
    Dernier message: 17/09/2007, 15h56
  4. Réponses: 2
    Dernier message: 25/09/2006, 17h24
  5. [VBA Excel] Quitter le formulaire actuel
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/03/2006, 18h57

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