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 :

message de validation lors de la modification d'un champ [AC-2010]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Consultant MOA
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Par défaut message de validation lors de la modification d'un champ
    Bonjour à tous!

    je vous remercie d'avance du temps que vous prendrez pour me lire, je suis débutante en access et en vba de par ailleurs. j'ai crée une base donnée sous access 2010, pour de la facturation, sur mon formulaire ou l'on crée les différentes fiches de facturation , je souhaiterais que toute donnée modifiée d’une fiche devra être confirmée au moment de sa modification par l’utilisateur (non applicable à un ajout de donnée) à défaut, la modification ne sera pas prise en compte. j'ai fais un evenement beforeupdate sur un un champ en test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Libellé_facturation_BeforeUpdate(Cancel As Integer)
    If Not IsNull(Forms("EtudeRetraite_Conseil_Excub").Controls("Libellé facturation").Value) Or Forms("EtudeRetraite_Conseil_Excub").Controls("Libellé facturation").Value <> "" Then
       If (MsgBox("voulez-vous prendre en compte la modification", vbYesNo, "validation")) <> vbYes Then
     
          Forms("EtudeRetraite_Conseil_Excub").Controls("Libellé facturation").Undo
          Cancel = True
       End If
     
    End If
     
    End Sub
    mais voilà tout marche j'ai le message et si je clique non , la valeur précédente est reprise par contre lorsque je fais un ajout de donnée c'est à dire la case est vide dès le départ j'ai quand même le message
    je pense que cela vient du fait que le test à savoir si la valeur est null ou vide se fait sur la valeur après remplissage ( ce qui me déconcerte un peu vu que c'est un event beforeupdate, j'avais prévenue je suis nulle!)
    comment faire alors?
    Désolé si mes explications ne sont pas claires!

    cordialement,

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour essaye cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub Libellé_facturation_BeforeUpdate(Cancel As Integer)
     
       dim c as control:set c=me.[Libellé facturation] 'Utilise un objet de type contrôle et y assign le contrôle en cours. Me. refère au formulaire courrant.
     
       If Not IsNull(c) and Not IsEmpty(c) Then
     
          if trim(c)<>"" then
     
             If (MsgBox("voulez-vous prendre en compte la modification", vbYesNo, "validation")) <> vbYes Then
                c.Undo
               Cancel = True
             end if
     
         End If
     
       End If
     
       set c=nothing
     
    End Sub
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre habitué
    Femme Profil pro
    Consultant MOA
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Par défaut
    bonjour,

    merci d'abord pour la rapidité de ta question, j'ai tenté le code que tu m'as donné mais ça ne marche pas
    j'ai toujours le message de validation lorsque je fais un ajout de donné et non une modification.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    OK j'ai fait un test et je pense que c'est cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub V1_BeforeUpdate(Cancel As Integer)
       Dim c As Control: Set c = Me.[Libellé facturation] 'Utilise un objet de type contrôle et y assign le contrôle en cours. Me. refère au formulaire courrant.
     
       If Not IsNull(c) And Not IsEmpty(c) And Not Me.NewRecord Then
     
          If Trim(c) <> "" Then
     
             If (MsgBox("voulez-vous prendre en compte la modification", vbYesNo+vbQuestion, "validation")) <> vbYes Then
                c.Undo
               Cancel = True
             End If
     
         End If
     
       End If
     
       Set c = Nothing
     
    End Sub
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre habitué
    Femme Profil pro
    Consultant MOA
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Par défaut
    Merci beaucoup ça marche !

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

Discussions similaires

  1. Action lors de la modification d'un champ
    Par deathart dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/10/2012, 20h49
  2. Réponses: 0
    Dernier message: 09/06/2011, 10h03
  3. [SP-2010] Message d'erreur lors de la modification d'une page
    Par Faro dans le forum SharePoint
    Réponses: 0
    Dernier message: 16/12/2010, 17h52
  4. Réponses: 1
    Dernier message: 07/10/2010, 09h30
  5. Message Access lors d'une modification
    Par sprevost dans le forum Access
    Réponses: 3
    Dernier message: 07/01/2010, 19h25

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