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 :

Refuser une sélection dans une liste déroulante


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 38
    Points : 22
    Points
    22
    Par défaut Refuser une sélection dans une liste déroulante
    Bonjour
    Je voudrais que lors d'une sélection dans une liste déroulante un message soit envoyé à l'utilisateur pour lui demander si il souhaite réellement valider sa sélection. J'ai donc utilisé le code suivant dans l'évènement Avant mise à jour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub LDEtatDossier_BeforeUpdate(Cancel As Integer)
        If MsgBox("Modifications effectuées." _
            & vbCrLf & vbCrLf & "Voulez-vous réellement valider votre choix?" _
            , vbYesNo, "Modifications demandées") = vbYes Then
                DoCmd.Save
            Else
                DoCmd.RunCommand acCmdUndo
        End If
    End Sub
    Or quand la réponse est Non j'obtiens le message suivant : Erreur d'exécution 2046 La commande ou l'action Annuler n'est pas disponible pour l'instant.
    Merci à qui pourra me dire comment faire

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    j'ai teste dans une before update de form, il n'y a pas de message d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form_BeforeUpdate(Cancel As Integer)
        If MsgBox("Modifications effectuées." _
            & vbCrLf & vbCrLf & "Voulez-vous réellement valider votre choix?" _
            , vbYesNo, "Modifications demandées") = vbYes Then
                DoCmd.Save
            Else
                DoCmd.RunCommand acCmdUndo
        End If
     
    End Sub

  3. #3
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 881
    Points : 4 758
    Points
    4 758
    Par défaut
    Bonjour à tous ,
    c'est un peu incongru d'essayer de faire un .save ou un .Undo dans un evt _BeforeUpdate
    essayer plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub LDEtatDossier_BeforeUpdate(Cancel As Integer)
        If MsgBox("Modifications effectuées." _
            & vbCrLf & vbCrLf & "Voulez-vous réellement valider votre choix?" _
            , vbYesNo, "Modifications demandées") <> vbYes Then
                Cancel = true
        End If
    End Sub
    Cordialement
    "Always look at the bright side of life." Monty Python.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 38
    Points : 22
    Points
    22
    Par défaut Refuser une sélection dans une liste déroulante
    Merci pour vos réponses. Je viens d'essayer la solution avec mais si je réponds Non au message la nouvelle entrée est quand même prise en compte. Même avec une zone de texte à la place d'une liste déroulante le problème est le même.
    Y a-t-il une autre méthode pour aboutir au résultat que je cherche ? Merci pour les réponses

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Ajoute l'instruction

    Pour détricoter ce que tu as encodé.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

Discussions similaires

  1. Réponses: 19
    Dernier message: 06/10/2023, 16h10
  2. Afficher une recherche après une sélection dans une ListBox
    Par vitalus dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/05/2015, 18h04
  3. [MySQL] Afficher le résultat d'une sélection dans deux listes déroulantes d'un formulaire
    Par ritouthai dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/09/2013, 09h14
  4. Comment faire une recherche dans une combobox et une sélection automatique
    Par VictoriusDan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2009, 16h17
  5. Réponses: 5
    Dernier message: 17/10/2007, 18h17

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