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 :

Save enregistrement après ajout dans un champ dans proc BeforeUpdate?


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 226
    Points : 553
    Points
    553
    Par défaut Save enregistrement après ajout dans un champ dans proc BeforeUpdate?
    Salut,

    J'aimerais, dans la procédure Form_BeforeUpdate(Cancel As Integer), faire un contrôle sur un champ pour vérifier si il est rempli.

    Donc, quand le contrôle est effectué, je place la donnée dans le champ si il est vide, le problème, c'est que la procédure continue mais la procédure after update n'est pas exécutée, donc la sauvegarde n'est pas faite.

    Comment donc exécuter la sauvegarde sans que la procédure BeforeUpdate ne soit réexécutée au changement d'enregistrement.

    Merci A+

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.RunCommand acCmdSaveRecord

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 226
    Points : 553
    Points
    553
    Par défaut
    Salut,

    Non, j'ai essayé mais ça ne va pas.

    Pour la sauvegarde, j'ai deux méthode :

    1) - En fait, une fois rempli les champs de mon form, j'ai un bouton OK qui sauve l'enregistrement et avant il fait un contrôle sur un champ pour vérifier si il est rempli. Si il est vide j'ai un message qui m'informe et me demande si je veux la date du jour, si oui je continue, si non j'arrête.

    2) - Mais si je change d'enregistrement à l'aide de la roulette par exemple, je vais dans la procédure BeforeUpdate, j'ai donc un contôle sur le champ qui me demande si je veux la date par défaut si il est vide.
    Ensuite, je dois continuer la procédure.

    Mais l'enregistrement ne se fait pas, il faut que je refasse avec la roulette ou sur OK.

    Donc, comment prendre en compte l'enregistrement après une modif d'un champ dans la procédure BeforeUpdate.

    Merci
    A+

  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,

    J'avoue ne pas avoir tout compris !

    Il est aussi possible d'utiliser la propriété "Valide si". Par exemple, devrait obliger la saisie de texte. Pour personnaliser le message d'erreur, tu entres du texte dans la propriété "Message si erreur".

    Il peut également regarder du côté de la conception de ta table et utiliser la propriété Nul interdit.
    Gabout

  5. #5
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    Bonjour,

    Mais l'enregistrement ne se fait pas, il faut que je refasse avec la roulette ou sur OK.
    Cela me semble assez logique... Si tu fais un contrôle sur ton champ, que ce n'est pas bon, tu te repositionnes sur ton champ et tu annules la procédure BeforeUpdate, non ?

    Je ne pense pas que tu puisses "forcer" un enregistrement sans repasser par BeforeUpdate.

    Donc, tu dois redéclencher l'acualisation de ton formulaire, soit par le code associé à ton bouton, soit en passant à l'enregistrement suivant (roulette).

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 226
    Points : 553
    Points
    553
    Par défaut
    Salut,

    OK merci pour votre aide.

    A+

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/02/2013, 16h39
  2. Ajout d'un compteur dans un champ
    Par alexandrebergercyr dans le forum Oracle
    Réponses: 3
    Dernier message: 06/03/2007, 08h46
  3. Réponses: 9
    Dernier message: 05/02/2007, 12h27
  4. Réponses: 4
    Dernier message: 11/05/2006, 16h23
  5. Réponses: 2
    Dernier message: 25/01/2006, 21h25

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