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 :

Validation avant modification d'un champ [AC-2016]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut Validation avant modification d'un champ
    Bonjour,

    J'aimerais pouvoir valider (Oui/Non) avant modification d'un champ non vide...

    * Si OUI, le champ est modifié
    * Si NON, la valeur revient à la valeur précédente, c'est-à-dire avant l'entrée clavier..

    Le code suivant, fait bien bien apparaitre la fenêtre Oui/Non, lors de la tentative de modification du champ non vide...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Nom_Affilié_Dirty(Cancel As Integer)
    Dim Reponse
     
    If Not IsNull(Me.Nom_Affilié.Value) Then Reponse = MsgBox("Etes-vous certain de vouloir modifier ce champ ?!", vbYesNo + vbQuestion + vbDefaultButton2, "ATTENTION")
     If Reponse = vbYes Then
            '
        Else
            Me.Undo
        End If
     
    End Sub
    Si je clique sur OUI, je peux continuer à modifier le champ, par contre, si je clique sur NON, cela affiche ce que je viens de rentrer au clavier...

    Ce que j'aimerais, c'est que si je choisi NON, cela revient en arrière, c'est-à-dire avec la valeur précédente.

    Pourriez-vous m'aider ? Merci d'avance

  2. #2
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 962
    Par défaut
    bonjour,
    la propriété Undo remet les anciennes valeurs des zones de texte modifiées, mais seule, elle ne suffit pas, il faut ajouter la commande Cancel = True qui empêche d'aller à l'enregistrement suivant ou de quitter le formulaire tant que l'erreur de saisie n'est pas corrigée.

    J'utilise plutôt BeforeUpdate que Dirty pour ce type de contrôle

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut
    J'ai trouvé :-)

    Merci pour les pistes :-)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Nom_Affilié_BeforeUpdate(Cancel As Integer)
        If Not IsNull(Me.Nom_Affilié.OldValue) And Me.Nom_Affilié.OldValue <> "" Then
            Dim réponse As VbMsgBoxResult
            réponse = MsgBox("Ce champ contient déjà une valeur. Voulez-vous vraiment la modifier ?", vbYesNo + vbQuestion + vbDefaultButton2, "Confirmation")
     
            If réponse = vbNo Then
                Me.Nom_Affilié.Undo
                Cancel = True
            End If
        End If
     
    End Sub

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

Discussions similaires

  1. [AC-2010] message de validation lors de la modification d'un champ
    Par pasfortedutout dans le forum VBA Access
    Réponses: 4
    Dernier message: 08/10/2014, 10h42
  2. Réponses: 2
    Dernier message: 02/08/2010, 16h31
  3. Réponses: 28
    Dernier message: 29/02/2008, 16h09
  4. [firebird] comment valider les modifications ?
    Par kase74 dans le forum Bases de données
    Réponses: 2
    Dernier message: 24/08/2004, 01h13
  5. DBNavigator, requete SQL et modif d'un champ
    Par TieumB dans le forum C++Builder
    Réponses: 9
    Dernier message: 27/01/2004, 08h50

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