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 :

Annuler une mise à jour


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de langevert
    Profil pro
    Inscrit en
    Août 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 92
    Par défaut Annuler une mise à jour
    Bonjour,

    J'ai crée un formulaire qui agit directement sur une table (pour modifier les infos)
    Le formulaire est de type "formulaire continus".
    Quand je modifie un enregistrement, il est modifié uniquement quand on clique en dehors de celui-ci (soit quand on clique sur un autre enregistrement soit quand on ferme le formulaire).

    J'ai crée un script par VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim temp
    temp = DLookup("id", "MATABLE", "nom=" & Me.nom & "")
    If IsNull(temp) Then
    Me.Undo
    MsgBox "Cette personne n'existe pas.", vbCritical, "Erreur"
    End If
    End Sub
    Dans le cas où il m'affiche ce message d'erreur, il m'efface toutes mes modifications apportées sur l'enregistrement et me mets les valeurs originales. (grâce à la ligne Me.Undo).

    Existe-il une façon d'annuler la modification sans que l'on retrouve les valeurs initiales ? Je m'explique : Je voudrai, quand le nom entré n'existe pas (dans une autre table) , il m'affiche le message d'erreur, annule la procédure de MAJ mais garde mon nom que j'ai rentré (pour que je puisse le modifier) au lieu de mettre le nom initial qui était dans la base avant la MAJ.

    J'ai remarqué que Access le faisait parfaitement si on mettait une condition dans "Valide Si" : Si la valeur n'est pas valide, il y a un message d'erreur et il y a toujours notre valeur entrée (qui n'est pas valide) qui est affichée à l'écran

    Avez-vous une idée pour faire cela ?

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Par défaut
    Bonjour,
    heu bizare ta question.....
    ...Je voudrai, quand le nom entré n'existe pas (dans une autre table) , il m'affiche le message d'erreur, annule la procédure de MAJ mais garde mon nom que j'ai rentré (pour que je puisse le modifier) au lieu de mettre le nom initial qui était dans la base avant la MAJ.
    ...
    Si le nom saisie n'existe pas...c'est que tu veux créer un nouveau nom....donc un nouvel enregistrement..
    Donc ici, passe directement sur la création d'un nouvel enregistrement..

  3. #3
    Membre confirmé Avatar de langevert
    Profil pro
    Inscrit en
    Août 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 92
    Par défaut
    Citation Envoyé par FreeAccess
    Bonjour,
    heu bizare ta question.....

    Si le nom saisie n'existe pas...c'est que tu veux créer un nouveau nom....donc un nouvel enregistrement..
    Donc ici, passe directement sur la création d'un nouvel enregistrement..
    En fait j'ai deux tables :

    Une table : Table1 sur laquelle j'agit avec le formulaire
    Une autre table : Matable sur laquelle sont stockées les noms

    Donc dans ma table 1, je ne veux pas ajouter ce nom s'il n'existe pas sur la table "ma table"

Discussions similaires

  1. Annuler une mise à jour
    Par Rymaya dans le forum SQL
    Réponses: 13
    Dernier message: 06/06/2012, 13h50
  2. Annulation d'une mise à jour d'une table
    Par souarit dans le forum Bases de données
    Réponses: 6
    Dernier message: 07/07/2008, 03h18
  3. Annuler une mise à jour
    Par monsurf dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 28/04/2006, 16h37
  4. Problème d'une mise à jour
    Par Hamdi dans le forum Access
    Réponses: 2
    Dernier message: 17/09/2005, 13h57

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