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

Access Discussion :

Sauvegarder ou annuler un ajout


Sujet :

Access

  1. #1
    Membre éclairé Avatar de PoZZyX
    Inscrit en
    Août 2005
    Messages
    426
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 426
    Par défaut Sauvegarder ou annuler un ajout
    Bonjour,

    J'ai un problème quand j'ouvre un formulaire en mode ajout :
    DoCmd.OpenForm "frm_plandev", acNormal, , , acFormAdd, acWindowNormal

    J'aimerais qu'il soit possible, une fois que j'ai entré les données, d'abandonner l'ajout ou d'effectivement l'ajouter a la base de données. Parce que lorsque je clique sur la croix en haut à droit pour fermer le formulaire, a peine j'ai écrit quelque chose il me l'ajoute a la base.

    y-a-t'il un moyen pour faire un bouton : abandonner et un bouton valider ?

    merci d'avance

  2. #2
    Membre chevronné

    Inscrit en
    Août 2005
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 220
    Par défaut ajout
    Il y a peut être d'autres solutions mais pour résoudre ce problème dans une appli, j'ai joué avec la commande SendKeys qui me permet de faire "comme ci" je passais dans les menus:
    tu crée un bouton qui va dans le menu "enregistrement" et qui sauve le record; tu en crée un autre qui fait un escape avant de quitter ton formulaire (je ne connais plus le code pour le "escape" mais tu retrouveras cela facilement dans la doc Access

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 206
    Par défaut
    C’est le mode de fonctionnement par défaut d’Access.


    Tu peux faire plusieurs choses, mais, à priori, il te faudra programmer

    Par exemple, tu peux attacher une macro ou du code VBA au formulaire, à l’événement Avant Mise a Jour (Before Update).

    Outre que c’est l’endroit idéal pour faire un contrôle de validité, tu peux aussi poser la question à l’utilisateur, est-ce qu’il valide sa saisie ou pas ? Si oui, tu laisses l’événement se terminer, sinon tu annules le mode saisie, avec me.undo.

    Tu peux aussi, effectivement, mettre deux boutons sur ta fiche, un « Valider » et un autre « Annuler ». Il suffit de faire un « me.refresh » pour enregistrer les modifs. Le bouton Annuler fera le « me.undo ». Le problème est que tes utilisateurs peuvent toujours quitter la fiche en la fermant (et l’enregistrant, du coup). Il me semble donc que tu ne peux faire l’économie, si tu tiens vraiment à leur poser la question, de poser cette question dans « Before Update ».

    Personnellement, j’ai des boutons « Valider » et « Annuler », mais j’ai formé mes utilisateurs pour qu’ils sachent qu’en fermant un formulaire ou en changeant d’enregistrement, c’est comme s’ils appuyaient sur « Valider ». Du coup mon BeforeUpdate ne sert qu’à faire le contrôle de validité.

  4. #4
    Membre éclairé Avatar de PoZZyX
    Inscrit en
    Août 2005
    Messages
    426
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 426
    Par défaut
    ça a l'air de bien marcher avec les deux boutons en bas de page et me.undo je vais utiliser ça merci

  5. #5
    Membre éclairé Avatar de PoZZyX
    Inscrit en
    Août 2005
    Messages
    426
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 426
    Par défaut
    en fait y encore un ptit prob, si je touche rien au sous-formulaire ça marche niquel.

    Mais si j'insère quelquechose dans le sous formulaire, il ajoute le contenu du formulaire et le contenu du sous formulaire malgrès le me.undo

    Y-a-t'il quand meme une solution ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 206
    Par défaut
    Je n'ai pas trop le temps de faire des tests, là, mais il faut savoir que quand tu passes dans un sous formulaire, l'enregistrement du formulaire principal est quitté et validé, comme si tu changeais d'enregistrement.

    Sans doute te faut-il agir avant ou après la mise à jour du sous formulaire, ou bien même dès que le formulaire est modifié. Je ne sais pas, car je ne sais pas exactement ce qu’est ton formulaire et ce que tu attends de lui comme comportement, mais en réfléchissant, tu dois pouvoir trouver quelque chose à faire avec les évènements Avant mise à jour, Après mise à jour, Modifié, de ton formulaire principal et de ton sous formulaire.

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/05/2011, 12h17
  2. [AC-2003] Annuler enregistrements ajoutés par fonction
    Par nawakbling dans le forum VBA Access
    Réponses: 2
    Dernier message: 09/04/2010, 11h00
  3. Annuler un ajout d'enregistrement
    Par Cydonia dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/07/2008, 17h05
  4. annuler l'ajout dans un sous form
    Par fa310428 dans le forum IHM
    Réponses: 9
    Dernier message: 28/11/2007, 16h06
  5. Comment faire pour annuler des ajouts en cas de problème ?
    Par Cazaux-Moutou-Philippe dans le forum WinDev
    Réponses: 2
    Dernier message: 24/11/2006, 14h40

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