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 :

Problème de liste deroulante [AC-2019]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 225
    Par défaut Problème de liste deroulante
    Bonjour,

    Dans un programme. En access VBA (Office 2019) J'ai une liste déroulante qui fonctionnait bien quand il s'agissait d'ajouter une ligne , par la procédure "pas présent dans la list".
    Mais depuis aujourd'hui, impossible d'ajouter une ligne Par cette procédure ?

    En revanche J'ai transféré le programme sur mon portable avec. Microsoft Office 2021, Et l'addition d'une ligne se fait parfaitement.

    J'en conclus qu'il y a un problème de configuration sur mon. Microsoft Office 2019

    Je joins à tout hasard le code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub ID_Lieu_NotInList(Nouveau As String, Response As Integer)
        If MsgBox("Voulez-vous ajouter " & Nouveau & " dans la liste des Villes ?", vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then
            DoCmd.SetWarnings False
            DoCmd.RunSQL "INSERT INTO Lieu ( Lieu ) SELECT """ & Nouveau & """;"
            DoCmd.SetWarnings True
            Response = acDataErrAdded
        Else
            Response = acDataErrContinue
            Me.ID_Lieu.Undo
        End If
    End Sub
    et le formulaire

    Nom : Fenetre de saisie.jpg
Affichages : 53
Taille : 4,9 Ko

    Merci et pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 131
    Par défaut
    Bonjour,

    Tu as mis un point d'arrêt sur la 1ere ligne de la procédure pour savoir si l'évènement s'exécute ?

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre éclairé
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 225
    Par défaut
    Bonjour,

    Oui j'ai mis un point d'arrêt sur la première ligne de la procédure, mais rien ne se passe. l'évènement ne passe pas par là, et donc ne s'exécute pas, pourtant dans la propriété de la liste déroulante il y a bien le lancement de la procédure évènementielle sur "Absence dans liste"

    J'ai essayé une autre procedur,e voir ci-dessous, mais le résultat est tout aussi negatif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub ID_Lieu_NotInList(Nouveau As String, Response As Integer)
        Dim rst As DAO.Recordset
        If MsgBox("La ville de [" & Nouveau & "] ne figure pas dans la liste. Voulez-vous l'ajouter ?", vbQuestion + vbYesNo) = vbYes Then
            Set rst = CurrentDb.OpenRecordset("Lieu")
            rst.AddNew
            rst!Lieu = Nouveau
            rst.Update
            rst.Close
           Set rst = Nothing
        End If
       Response = acDataErrAdded
    End Sub

  4. #4
    Membre éclairé
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 225
    Par défaut
    en continuant mes recherches, j'ai appuyé par hasard sur la touche "TAB" et la procedure s'est execute .

    je ne comprends pas pourquoi.

  5. #5
    Membre éclairé
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 225
    Par défaut
    Ca y est , j'ai trouvé.
    Dans les option de ACCESS la touche "entrée" avait pour effet d'aller à l'enregistrement suivant, j'ai remis au champ suivant. Et tout remarche normalement

    Merci pour le temps passé.
    (je mets la question comme résolue)

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

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